We currently plan to make the move to pure SFDX and try to come up with a solid strategy to divide our metadata into unlocked packages. The main problem we encountered so far is that we don't know how to properly handle single-file shared metadata, like user profiles.
Putting single-file shared metadata into a separate "base" package might be tricky, in the case of user profiles without having all objects available in that package. Not packaging them essentially means not being able to track them in git. Are we missing something here?