Sie haben Recht, alle DBRefs werden eifrig abgerufen, aber nicht eifrig gespeichert (AFAIK). Wenn A einen Verweis auf B hat, speichert Spring Data/MongoDB beim Speichern von A nicht automatisch B, das müssen Sie tun.
// 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);