Важно понимать, что $lookup в mongo — это не замена join из реляционных баз, а этап аггрегирущего запроса со всеми вытекающими: не работает в кластере, индексы могут быть не доступны, в зависимости от этапа пайплайна, и так далее.
Спасибо за уточнение. О том как ведут эти операторы на кластере я не подумал. Нужно будет отдельно исследовать эту задачу. По поводу конкретно $lookup в mongo — скорее всего не работат на шарде, так во всяком случае написано в документации (в смысле что на кластере не все коллекции обязательно будут шардированы и по идее $lookup в mongo должен в этом случае работать).
JOIN в NoSQL базах данных