Problemet er, at MongoDB ikke har nogen måde at kortlægge en Category optage til en Ad optage. Det eneste, den ved, er, at en Ad posten har en category_id felt så 'category.domain_id' vil altid ikke returnere noget. Punktnotationen i forespørgsler virker kun for indlejrede dokumenter, ikke referencer (som stadig er andenrangsborgere i MongoDB).
Så for at løse dit problem skal du bruge 2 forespørgsler:
category_ids = Category.where(:domain_id => domain.id).map(&:_id)
Ad.where(:category_id.in => category_ids)