Hmm I wonder if custom user fields could get you what you’re looking for here? You can try that by going to Admin > Customize > User Fields. With something like that, each user’s profile could basically be this custom page with any data you require.
You’d have the option of displaying this custom data on user profiles, and whether to make it required for new users. Additionally you could use this plugin to make a custom onboarding flow for adding that data: Custom Wizard Plugin