I can easily increase the number of sites in the unit cell, however it is still in iMPS form.
Would it work if one calculates the canonical_form with setting the bond dimension to chi = 1 at the boundary?
Why? What do you want to do with the state afterwards?
Yes, of course, you can just insert a projector onto the index with maximal singualar value at the boundary, i.e. bond dimension 1, and formally declare it a finite MPS. But this truncation is likely not the "optimal" state of maximal overlap with the infinite one; you might need to do a few sweeps (with the VariationalCompression) to get the best approximation of the original state.
Maybe, you're more looking for the "segment" boundary conditions, where we consider a finite subsystem embedded into the background of an infinite system?