So, after some experimentation, I found out that freezing transformations on a child node inside a parent scene cause all these problems. If I don't freeze transformations, all the child nodes remain unchanged when the parent scene is reloaded.