I can see how the incompatibility can happen, despite the common protocols, each package serves a different purpose. For example, what should be shown when you subscribe to a video hosting service through a Lemmy instance? An aggregated list of thumbnails? A list of videos? What is a video hosting service to a link aggregator.
Despite having a common protocol, it does seem impossible to have one app handling everything.