Thanks for the HDF5 files. I was able to open them successfully and reproduce exactly what you are seeing. Glad we added HDF5 support to ITensor, because being able to share data like this is really useful!
I will look more into your issue and see what I find. I agree it's probably some behavior of the truncation logic that you pointed out.
Finally, I note that the tensors of the MPS psi and psi have a link index between them that has the dimension of 98. So if phi was made as psi*psi then the true rank of phi is 98, meaning that the 99th and 100th eigenvalues should really be zero. But that is only if phi=psi*psi. If phi was updated such as used within DMRG for the "eigsolve" step, then of course phi could grow to have a larger rank like 100 or more.
Either way, I agree it's weird that eigs(spec) contains 100 values all above 1E-13 but when passing maxdim=100, and even I tried maxdim=100, cutoff=1E-16, that it still truncates to 98. So I will look into that!