ActivityPub is a transport protocol. The content of an ActivityPub object can be anything, including a stream of bytes coming from an E2E encrypted exchange.
I disagree, ActivityPub is closely intertwined[1] with ActivityStreams[2] and expose all the actions and intents of the sender as part of the protocol.