Yes, you can build a single blockchain transaction that performs a multi-asset transfer and writes to a stream, all in a single atomic operation.
You can't yet use the createrawexchange + appendrawexchange APIs for this, because they don't yet support metadata. (They are based on a signature type where each participant only signs one input and one output, so this would anyway raise the question as to who has signed the metadata).
However you can certainly use createrawtransaction to build a transaction that performs an atomic swap and writes to a stream simultaneously. All the participants in the chain can examine what this transaction is doing before deciding whether to sign it using signrawtransaction.
For more information on raw transactions please see here: