Parece não ser possível renomear um campo dentro de uma matriz a partir da linha de comando, conforme respondido nesta pergunta:
MongoDB renomear campo de banco de dados dentro do array
É possível alterar esses valores via RockMongo, no entanto, conforme sugerido pelo usuário Liad Livnat.
Para minha instância específica, também removi o array e alterei a estrutura para:
{
"field1": "value 1",
"field2": {"subfield1": "value 2", "subfield2": "value 3"},
"field3": "value 4"
}
A consulta desse objeto foi então possível com:
db.myCollection.find( {"field2.subfield2":"value 3"} );