Most event store implementations that I have seen (more than one, fewer than ten) support contiguous writes of multiple events to a single "document".
For instance
Task<WriteResult> AppendToStreamAsync(string stream, long expectedVersion, params EventData[] events)
writes all of the events, or none; when you query the stream after a successful write, you will find all of the events together. That guarantee seems to hold whether you enable the optimistic concurrency checks by specifying an expected stream position, or if you disable the check via ExpectedVersion.ANY
Writes to different "documents" might as well be writes to different hosts; I've never seen any sort of deterministic ordering guarantees across multiple documents.
Document tends to be implementation defined. EventStore treats each identified stream as a separate document, and as far as I know offers no guarantees to writes to multiple streams. Event stores on RDBMS platforms may or may not support an update of multiple streams in the same "transaction".