@fuina ActivityPub was not designed with data portability in mind. Mastodon and other services are not to blame, in fact they are doing their best and provide data portability options where possible, for example they support migration of followers and exporting/importing of follow, block and mute lists.
About two years ago a novel way to implement full data portability in ActivityPub network was discovered. The solution is described here: https://codeberg.org/fediverse/fep/src/branch/main/fep/ef61/fep-ef61.md
I don't think a non-technical explanation of this mechanism exists, but it has similarities to the implementation on data portablity in Zot protocol (which is also part of Fediverse family of protocols and pre-dates ActvityPub):
https://opennomad.net/page/nomad/home
https://joinfediverse.wiki/Nomadic_identity