The atmosphere and the PDS are definitely trending towards a single database for all your things. All of the examples you cited are being worked on in one form or another. I'm personally working towards a Permissioned PDS which can power Google Workspace like experience on ATProto, where there is an existing understanding of how sharing, visibility, roles, and permissions work across groups of people (IAM). Permissioned data unlocks an entire (majority) of applications people want to use, but won't until they can do it without broadcasting everything. There are a number of ways this may play out, several will materialize as options, i.e. some apps need e2ee and others cannot have it for the experience they want to deliver.
The overarching ethos is user or individual choice, paired with credible exit, enables real competition. Let's go wild, build all new apps, and let the people decide what they prefer. More indie, less winner take all
This is totally what atproto offers, see my peer comment to yours, then come back and read this.
I'll add here that there are a bunch of experiments going on which aim to break down apps into features. One example is DMs. Ideally all apps can use the same DM infrastructure (MLS based) and as a users, my DMs are the same in any app as my dedicated messenger app. Many people have had the idea to build a "browser" and any app can use bits of another (leaflet blog publish creates bsky post). Some cool experiments around things that look like web components, where you can create records that express a way to render something.
Another place user vs app choice comes into play is around the graph itself. One of the early dreams of app builders was that there is this existing network and you don't have to bootstrap a social network from scratch. While this is partially true, it does turn out reaching network effect is not so easy. Around this, there is a multi-camp debate on whether apps should reuse social graphs or not, one specific example of this is should an app automatically, upon request, or not at all: start from a user's existing social graph.
Social media should be treated as disposable. Anything that is not yours (as in, is hosted by someone else - for free) should be disposable. In fact id even argue that any media should be treated as disposable. You wouldn't hoard all the material things your accumulate in life, why would you hoard random tweets, comments and reactions forever?
If its worth it, surely you'll find a way to keep it in a way that doesnt demand a third party to do it for you for eternity, no?
"Switching costs" man... people move between countries with vastly different languages and cultures and they adapt, make new relationships, refresh ideas. Is switching from database A to database B that difficult really?