advanced template user table types?

I am trying to learn and understand the advanced template variables:

  1. is it correct that username defaults to varchar rather than to nvarchar (for more universal international data base names) because the template is prepped also for non-mysql databases, too? for a username, it seems that nvarchar is often preferred elsewhere.

  2. why are created_at and updated_at not timestamp’s but int’s?

  3. a name like ‘id’ is easy to mix up. is there a deeper reason that it is not something more memorable like ‘uid’?

  4. is it good practice to add my own registration and security fields to it, say an SMS phone number for 2-factor authentication? (I presume things like address are better kept in a separate data table like ‘profile’ linked to the uid with foreign key.)

  5. is there a place other than this forum that discusses the design choices? (I am trying to absorb the basic docs and tutorials at the same time. info overload at the moment…)

advice appreciated.