Just in case it can help, I have noticed that in the get_user_meta() array, the properties [first_name] and [last_name] are empty, but the properties [network_xx_first_name] and [network_xx_last_name] are correctly filled (xx being the blog id).
So I added an action on the wp_login hook :
-testing if the first_name and last_name properties are empty and if so,
-filling them with the values found in the subsite related properties.
NB: it is not possible to use the user_register hook because the data are not yet recorded at this execution stage.
I have the same problem. When a member registers, the WP profile is not correctly saved :
-the nickname is correct,
-the first name is empty or filled with the nickname
-the last name is empty
-the display name, set as firstName + lastName, is correct (which is strange because first name and last name are empty).
I have checked the data in the _bp_xprofile_ tables. They are consistent with the profile display : no entry for field 1 and 2 (first name, last name).