My experience differs.
To see if indexes are used or not you should rely on the explain plan.
What I am really puzzled with is:
but then
You were right in expecting the same result set. You would have to discard the same documents. If you can lookup with localField/foreignField this is what you have to do and if you have indexes they will be used. Note that you can lookup with localField/foreignField and still use let/pipeline to weed out unwanted documents.
What needs to be done now is to discard unwanted document as soon as possible. We cannot help you at this regard with the details you shared.