It seems to me that it is better to link to the custom profile table because:
- it is a bit less error prone - linking to profile would enforce that a profile is setup before any items are created by the user;
- it is easier to migrate to another PG/cloud provider - it would be easier to migrate to another db/cloud provider if the only link to an "external" table (i.e. a table NOT created by me) is from profile to auth.user instead of from all other tables to auth.users
- hypothetically, a user might be able to setup multiple profiles and this way, you can assign items to the different profiles (which might have different permissions, etc)