After spending several hours trying to solve this myself, the current answer (as of 2025) is to use findOneAndReplace. The overwrite option has been deprecated, and replaceOne does not return the updated document.
For those stumbling upon this tortured path, findOneAndReplace is your friend.