So I looked a little closer and this is actually not a bug, but the intended behavior, basically.
The reason is that the density matrix diagonalized for the last bond as you are sweeping left is the density matrix for the right side of the system. So it is a matrix whose size is much bigger than the maximum number of non-zero eigenvalues possible when it is formed from a wavefunction. Since it does come from an actual wavefunction it will just have a lot of zero eigenvalues.
However, the noise term step makes a somewhat ad-hoc change to the density matrix that makes it slightly "unphysical" in the narrow sense of possibly having more non-zero eigenvalues than could be possible for any such density matrix coming from a wavefunction.
But this is ok because keeping a few more states in the MPS can't really hurt. The MPS can just use the ones it needs and ignore the ones it doesn't.
However, I will think more about whether maybe we could and should put in a check to strictly limit the number of states to the theoretical limit when truncating.
Thanks for pointing this out though - it is a little surprising at first!