Tiene razón, cualquier DBRef se busca con entusiasmo, pero no se guarda con entusiasmo (AFAIK). Si A tiene una referencia a B, cuando guarda A, Spring Data/MongoDB no guarda automáticamente B, tiene que hacerlo.
// Incorrect, upon retrieval a.getB() == null
A a = new A();
a.setB(new B());
repositoryA.save(a);
// Correct (to the best of my knowledge)
B b = repositoryB.save(new B());
A a = new A();
a.setB(b);
repositoryA.save(a);