You may be changing the assembly root on the client and causing a physics desync. The root is typically the most massive part in an assembly, unless weighted otherwise using the related basepart property. This is somewhat expected behavior.
Hi! @PeZsmistic is correct, the assembly root part changes when you weld the massive part. To see this, you can add the line
print(Root.AssemblyRootPart.Name)
to the end of your AddMass function in your repro. If the size of the part is small (e.g. 1), the root part of the assembly will remain HumanoidRootPart. Setting the size of the part to 512 will make the massive part the root part of the assembly, and Part will be printed instead.
See here for details about root part determination. Since the assembly root part is not the HumanoidRootPart, physics replication desyncs and produces what you observed.