Esse comportamento realmente faz todo o sentido não apenas do ponto de vista do desempenho. Pense assim:
Quando você usa observe
método, você deseja ser notificado de todas as mudanças que acontecem com o coleção (seja no servidor ou no minimongo). Portanto, cada um dos retornos de chamada que você recebe é uma única instância de modificação do coleção. Quando você muda a ordem dos objetos movendo um deles para outro lugar, você muda a coleção uma vez, Então você deseja receber apenas um retorno de chamada para este evento.
Você não quer ser notificado 42 vezes sobre um único evento!
Eu acho que a maneira mais fácil de multiplicar essa notificação para todos os objetos movidos é atravessar -os manualmente dentro do retorno de chamada. Quando um item se move da posição A para a posição B, você sabe que todos os objetos entre A e B também foram deslocados. Portanto, se você precisar ajustar cada um deles, basta fazer isso em loop que passa de A a B por toda a lista.