@manlycoffee given that protocol extensibility isn't well defined, protocol flavors are created all the time, protocol decay introduced (broad interop becomes ever harder). Imho there's merit in considering #ActivityPub to be JSON-first and have a JSON-LD approach for those who wanna go the extra mile.
An extension for a particular domain requires docs/specs and validation, where JSON-LD isn't best suited. See:
https://socialhub.activitypub.rocks/t/linkml-for-definition-of-activitypub-extension-schemas/3838
https://socialhub.activitypub.rocks/t/initiative-activitypub-step-on-board-integration-guide/3542