Restrict Profile2 Profile Type on Role
You can use permissions to assign profile(s) to roles.

about:


  When/if they change roles, their profile type would change and any
  fields that were the same are brought forward.


Remember each profile form is independent, so what you want could be done with code.  Or you can use only one profile form and use the field permissions module to assign role(s) per field (even if this is the case, maybe you don't need profile2).

Using only profile 2 (and turning off profile2 page),  you would see your core profile fields and the profile2 fields together.