The same issue exists for other services including email, irc, and matrix. The obvious simple and immediate solution is to retain copies of things you care about locally instead of expecting a particular service to stick around forever. With email this used to be standard practice before the rise of webmail. Even now most desktop clients sync to and retain a copy of everything on the local device.
> > Accounts aren't portable but there's no inherent reason that accounts need to map 1:1 to identities.
> Again, you are talking about identity portability, which is not the same as "creating one different identity for each different server".
It seems like it is though? Servers need a way to handle authorization so they presumably need accounts. With a simple protocol, accounts map 1:1 to identities as far as the software and protocol are concerned. If you make a new account then you also make a new "identity" from the perspective of the software. The obvious way to solve that is to map any number of accounts to one (or possibly multiple) identities, where an account is the thing the server is concerned with and an identity is something else such as a private key.
There's an additional question about the mechanisms for account creation and authentication. Maybe you don't want to maintain an email and password based login for a long list of accounts that are each tied to the same backing identity. There are multiple approaches available there as well, from oauth providers to public key based authentication possibly including things like cross signing.