Should one choose contact types or groups when organizing data and how can one customize built-in details
Many of these questions are going to be specific to your organization's needs, and there are multiple legitimate ways to organize your data, depending on the mental model the users will have.
With that said, here's some info:

Using groups is more lightweight than contact subtypes.
It sounds like you're using custom field groups specific to certain contact subtypes, which is a good reason to consider contact subtypes.  However, it sounds like maybe you're using the custom fields to capture data specific to membership, which likely belongs on the membership, not the contact itself.
A contact can have multiple contact subtypes.
If you could edit your question to say more about data that's &quot;merged&quot; when moving from volunteer to member you could get more specific help.  If there's data that applies to both members and volunteers they shouldn't get separate sets of custom fields.
Since it sounds like memberships aren't permanent, it may be worth making a smart group of members based on a membership record in CiviMember.
It sounds like you want the Contact Layout Editor extension to customize your summary screen.