Changestream fails when trying to match on full document

When I try to lookup something within my fulldocument my changestream fails with this error: “MongoServerError[ChangeStreamFatalError]: PlanExecutor error during aggregation :: caused by :: cannot resume stream; the resume token was not found.”

When I run exactly the same change stream but omit the lookup against the full document there’s no exception. Anyone knows what the issue is here?

Here’s an example:

const watchCursor = db.getCollection('eventStore.in').watch(
    [
        { 
            $match: { 
                $and: [
                    { 'fullDocument.State': 'Queued' }, //Removing this line "resolves" the bug.
                    { 
                        $or: [
                            { 'operationType': 'insert' },
                            { 'operationType': 'update' }
                        ]
                    }
                ] 
            } 
        }
    ],
    {
     fullDocument: "updateLookup",
     startAfter: {_data: "<redacted>"} 
     });
while (!watchCursor.isClosed()){
   if (watchCursor.hasNext()){
      print(watchCursor.next());
   }
}

After investigating it turns out that the errors pops up when operationType is insert. The resume token in the error is not the resume token defined in startAfter, but the resume token from the insert operation. Looks like the real error is not bubbling up correctly, instead a more generic one is thrown.