Add Contact vs User

I want a User to be able to add their Contacts into a database, but then if that Contact then registers on the app their User record connects with the Contact record. Is my thinking correct or should Contacts ALL be stored as Users?

Create a contact data-type and add a user field of type user.

You can add the corresponding user in the user field of the contact