Quando você faz uma sincronização inicial do zero em um secundário, ele grava todos os dados atualizados. Isso remove o preenchimento, o espaço vazio (dados excluídos) etc. Como resultado, nesse aspecto, é semelhante à execução de um reparo.
Se você executasse um reparo no primário (operação de bloqueio, apenas para ser feito se for absolutamente necessário), os dois seriam muito mais próximos no geral.
Se você verificar a saída de
db.stats()
você deve ver que os vários bancos de dados têm a mesma contagem de objetos, as diferenças de tamanho do diretório de dados não são nada para se preocupar.