Existem várias questões aqui:
1) Esteja ciente de que o MongoDB armazena todos os documentos usando o formato BSON. Observe também que a especificação BSON se refere a uma codificação de string UTF-8, não a uma codificação UTF-16.
Ref:http://bsonspec.org/#/specification
2) Todos os drivers, incluindo o driver JavaScript no shell do mongo, devem manipular corretamente as strings codificadas como UTF-8. (Se não, então é um bug!) Muitos dos drivers também lidam com UTF-16 corretamente, embora até onde eu saiba, UTF-16 não é oficialmente suportado.
3) Quando testei isso com o driver Python, o MongoDB pôde carregar e retornar com sucesso um valor de string que continha um par de códigos UTF-16 quebrado. No entanto, não consegui carregar um par de código quebrado usando o shell mongo, nem armazenar uma string contendo um par de código quebrado em uma variável JavaScript no shell.
4) mapReduce() é executado corretamente em dados de string usando um par de código UTF-16 correto, mas gerará um erro ao tentar executar mapReduce() em dados de string contendo um par de código quebrado.
Parece que o mapReduce() está falhando quando o MongoDB está tentando converter o BSON em uma variável JavaScript para uso pelo mecanismo JavaScript.
5) Eu arquivei o problema do Jira SERVER-6747 para este problema. Sinta-se à vontade para segui-lo e votar nele.