I totally agree with you - we spent several hours debugging dozer to find out that adding already existing elements and not-removing no longer existing elements is as-designed and not a dozer bug. I strongly suggest to change that default behavior.