Haha, oh boy.
In that case some random operation might be still called in the additional epoch.
I used your code and tried to reproduce this issue and could get a deterministic behavior by seeding again after loading the state_dicts in the training loop. Now the results are equal.