I agree with Matt's question above, that your best bet here is probably to keep the states with well-defined QNs separate. Though in principle you could keep some of the MPS tensors the same and just switch out a set of special "orthogonality center" tensors that individually do have different quantum numbers (different fluxes).
Regarding the part of your question about boundary tensors, I think I see much better what you are asking now. Your understanding of how that works in ITensor is only partly correct, and makes me realize we need some information in the docs about our conventions.
The convention we follow with MPS in ITensor is that MPS can be orthogonalized or not. When they are orthogonalized, then all of the MPS tensors have flux 0 except possibly one of them, which is the tensor that is the "orthogonality center" tensor of the gauge. (The center is the site left of which all tensors are left-orthogonal and right of which all tensors are right-orthogonal.) The center tensor has the same flux as that of the whole MPS.
Note that the center tensor is located at whichever site you orthogonalize to. So if you call `psi.position(j)` then j is the center, for any j. So it could be at the left boundary, right boundary, or somewhere in the middle and there is nothing special per se about boundary versus bulk tensors the way we do it in ITensor.
Hope that helps -