I'm a little saddened to see that each app has it's own collection type, even if they are able to use each others collections. That means that apps will only interoperate to the extent that they are explicitly designed to.
One of the beautiful (but perhaps not that practically relevant) things about ActivityPub is that a Mastodon user can subscribe to a Pixelfed user without anything special being done. It's like if Twitter, Instagram, Reddit, YouTube, and Substack all automatically interoperated.
AP intercompatibility is fun, but it starts to fall apart once you leave the safety of the "Note" (statuses) and "Question" (polls) types (which is what Mastodon, Pixelfed, Misskey, Pleroma, etc. all use as their primary elements). Everything outside of it becomes either loosely converted to a note (Mastodon does this for a lot of things, see https://docs.joinmastodon.org/spec/activitypub/#payloads) or is discarded by the instance. The only types that I know of which have been able to have native support from multiple AP implementations are micro-blogging and Lemmy's community system, with everything else essentially being a monoculture (or just extremely one-sided towards a specific implementation) due to a lack of interest from other implementations in providing full, standardized support. This isn't an inherent protocol limitation, but I do think that the community could do better in organizing standards outside of the core documents.
ATproto's system is a bit more well defined (you HAVE to abide by the lexicon/schema of the data collection to be accepted by implementations, reference implementation and some third-party ones have schema validators to do so) and allows for easier intercompatibility, but I do think that it could be a bit looser than it is right now (selective support for additional fields) to provide proper "sidecar" values in a record (they'll be in the user's PDS but it won't validate and could be rejected by indexers). Bridgy Fed does this to include the originating URL from APub and the original text, which third-party clients could certainly take advantage of if they detect that the post comes from a Bridgy account. (https://fed.brid.gy/docs#bluesky-fields)
Yeah, atproto pushes this down to be a community/governance issue. Nobody is preventing apps from working out a common standard and supporting it. However, nobody is forcing them to do that either. So it will play out with natural dynamics. What atproto ensures is that there's a convention for strongly-typed foward-evolving schemas and how they get validated (and reverse domains specify the authority). But ultimately cooperation is up to the community.
One of the beautiful (but perhaps not that practically relevant) things about ActivityPub is that a Mastodon user can subscribe to a Pixelfed user without anything special being done. It's like if Twitter, Instagram, Reddit, YouTube, and Substack all automatically interoperated.