Running a change stream against a mongos will set up one or more tailable cursors on the shards, then continuously poll those cursors until there is an unconsumed result. This polling continues to happen in the background even between the client's getMores. As a result, the AsyncResultsMerger can schedule a request with a null operation context here. If this happens, the getMore will not include the logical session id, or possibly other information that is stored on the OperationContext.
Because the OperationContext is not required to be non-null within scheduleRemoteCommand, there may be other scenarios in which we do not include the logical session id or other metadata.