O problema é que o MongoDB não tem como mapear uma
Category gravar em um Ad registro. Tudo o que ele sabe é que um Ad registro tem um category_id campo para 'category.domain_id' sempre retornará nada. A notação de ponto dentro de consultas funciona apenas para documentos incorporados, não para referências (que ainda são cidadãos de segunda classe no MongoDB). Então, para resolver seu problema, você precisará de 2 consultas:
category_ids = Category.where(:domain_id => domain.id).map(&:_id)
Ad.where(:category_id.in => category_ids)