Até onde eu sei, índices exclusivos apenas impõem exclusividade em diferentes documentos, então isso geraria um erro de chave duplicada:
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
Mas isso é permitido:
db.cats.insert( { id: 123, kittens: [ { id: 456 }, { id: 456 } ] } )
Não tenho certeza se há alguma maneira de impor a restrição que você precisa no nível do Mongo, talvez seja algo que você possa verificar na lógica do aplicativo quando inserir de atualização?