$lookup is super slow despite the foreign collection being empty

The base collection has 100,000 documents. All of which will be run through a $lookup stage. The foreign collection that will be looked up is empty.

This query takes 30 seconds.

When I remove the $lookup stage, this query takes 3 seconds.

What explains why it is so slow, despite the foreign collection being empty, having no documents?

Similarly, If I join based _id, which is indexed of course, the $lookup could increase the time of the query by 4 times. I know that the index is used because if I join by some other field that is not indexed, the query actually timeout and returns an error. So how come looking up using an indexed field, _id, increase the query time by 4x?

Can you explain why you are doing a $lookup on an empty collection? What is the purpose of this, a $lookup is for joining two collections but in this case it is empty?

It is empty now. But it will be populated. The foreign collection is to store blocked users. The base collection is the users collection. After filtering the users collection, I further have to remove the blocked users.