I am not familiar with ITensorInfiniteMPS or MPS algorithms which work in the thermodynamic limit more generally. However, my intuition is that you should modify the Heisenberg example found here: https://github.com/ITensor/ITensorInfiniteMPS.jl/blob/main/examples/vumps/vumps_heisenberg.jl
There are a number of differences between that example and your code, most prominently there does not appear to be an implementation of infinite-DMRG in ITensorInfiniteMPS, but if VUMPS is acceptable then you’re in luck. See this thread for a discussion: https://itensor.discourse.group/t/implementing-idrmg/168