Get first_name and last_name on user_register hook

I have multisite running with 4 sites. One of them has woocommerce. Customers have option to create account while checkout. I have custom analytics where registered customers are labeled with wordpress user ID (get_current_user_id()). Customers without account have default ID of 0. My analytics allow me to add first name, last name, email etc… to customer according to his ID. I would like to add this information right after they make account. I used user_register hook to do this job but it is not working.

BuddyPress on Multisite

BuddyPress sits on top of an entire WordPress
installation, regardless of configuration. That means on single-site,
multi-site, or multi-network installations, BuddyPress only has 1 set
of data tables. As a result, you only have 1 set of Groups, Activity,
Private Messages, Profiles, and Friends, even if you have 1 site/1
network, 100 sites/1 network, 100 sites per network/100 networks.

Allowing logged in users to comment without moderation across a multisite installation

I currently do web admin for an internet community based on BuddyPress and Multi Site, and use the Comment author must have a previously approved comment setting to make it easier for users to comment and not be moderated. All users are vetted before their accounts are created so I know we don’t have spambots.

Subdomain multisite gives 404 on sub sites

I used a one click install to install wordpress and then converted it into a sub domain multisite. I have made the required changes to the wp-config and htaccess file.
The main site example.com works absolutely fine.
When I try to add another site, it shows that the site has been successfully added. But the address sub1.example.com shows a page that says no content here and sub1.example.com/wp-admin gives a 404 error.(These are both generic pages similar to what my server shows on any random subdomain)

Redirect all users, except network administrators, from the main site to a subsite

I have a WP Multisite / Multi Network installation. What I need is to redirect all non-logged and also all logged in users, except logged in network administrators, from the main site example.com (including all nested pages, posts, categories etc.) to the subsite.example.com, that is a segregated multisite network. They share the same database. The network administrator will have access to the main site only after they will log in on the subsite.example.com. In this way, only the logged in network administrators must have access to the main site example.com.