Você tentou
BasicDBObject orderBy = new BasicDBObject("labels.0.value", 1);
Não é óbvio, mas a documentação do MongoDB foge disso. Usar o sinal $ corresponde ao primeiro item, mas especificar o número do elemento da matriz parece funcionar. Se alguém tiver um documento melhor descrevendo o comportamento, responda com o link.
Da documentação
The positional $ operator facilitates updates to arrays that contain embedded
documents. Use the positional $ operator to access the fields in the embedded
documents with the dot notation on the $ operator.
db.collection.update( { <query selector> }, { <update operator>: { "array.$.field" : value } } )
A documentação está aqui