They are absolutely correct and natural. You can say as well:
Я иду к другу домой. or
Я иду к другу в гости.

Я дома у друга. or
Я в гостях у друга.

But in most cases it's unnecessary to add...