Parece que no es posible cambiar el nombre de un campo dentro de una matriz desde la línea de comando como se responde en esta pregunta:
MongoDB cambia el nombre del campo de la base de datos dentro de la matriz
Sin embargo, es posible cambiar estos valores a través de RockMongo, según lo sugerido por el usuario Liad Livnat.
Para mi caso particular, allí también eliminé la matriz y cambié la estructura a:
{
"field1": "value 1",
"field2": {"subfield1": "value 2", "subfield2": "value 3"},
"field3": "value 4"
}
Entonces fue posible consultar este objeto con:
db.myCollection.find( {"field2.subfield2":"value 3"} );