O operador posicional suporta apenas um nível de profundidade e apenas o primeiro elemento correspondente.
Há um JIRA rastreável para o tipo de comportamento que você deseja aqui:https://jira.mongodb.org/browse/SERVER-831
Não tenho certeza se permitirá mais de uma partida, mas acredito que sim devido à dinâmica de como precisará funcionar.