Synchronizing find() and change stream

I am looking for a way to reliably receive current state of a given arbitrary document followed by a change stream that has updates following that state.

Currently, the only workaround I have is to open change stream and then concurrently force some kind of update to the document and then revert it. By receiving change stream with UPDATE_LOOKUP, ignoring the field and the extra update I am guaranteed to get an event with the state of the document followed by any future changes.

This unfortunately requires document to be modified and for that reason I cannot use it as a solution to my problem, but it illustrates what I would like to achieve.

(I am using Java ReactiveStreams driver) MongoCollection.watch() can take ClientSession as an argument, but unfortunately I could not find any explanation whether it is possible to use it to achieve guaranteed causal consistency of a find() and watch() results and what would be the sequence of calls to MongoDB to achieve correct result.