When the new zero-extending load is created, the (chain) users of the original load must be updated, which was not done previously.
Csmith discovered a program where a following store to the same address did not get chained after the new load, and so performed an illegal overwrite of the expected value.
To me, it seems necessary to update all users with both the loaded value and chain. This is not done automatically, since the load is an operand of the node returned.
I have found one other similar case which I suspect should also be fixed (?): lowerBITCAST().