sean.zimmerman@mongodb.com found that the following 2 lines looked like a bug:
https://github.com/10gen/mongo-enterprise-modules/blob/master/jstests/fle2/bulk_write_update.js#L162 and https://github.com/10gen/mongo-enterprise-modules/blob/master/jstests/fle2/bulk_write_update.js#L176
I confirmed that this is not from BulkWrite but from processFLEUpdate.
erwin.pe@mongodb.com pointed to the code here and double checked that on a normal upsert this case would be nModified = 0 and n = 1. So nModified should be set here only if lastErrorObject.updatedExisting == true.