My floating origin script makes objects fall through the ground

I have a bunch of tiled meshes making up a bumpy surface. Occasionally, I adjust their positions, along with the camera and player, using a floating origin script. The first several times I do this, it works fine, but at some point, one of the meshes seems to move without its collider. The mesh is still there, and the collider is still attached, but objects fall through the mesh. It’s not just the seam between two meshes, like I suspected at first. The whole mesh lets objects pass through.

Both the mesh and the collider are procedurally generated, and the collider’s “sharedMesh” points to the mesh.

My Floating Origin script basically looks like this:

    void LateUpdate() {
        Vector3 cameraPosition = gameObject.transform.position;
        if (cameraPosition.magnitude > threshold) {
            List<Transform> toMove = new List<Transform>();
            Transform[] chunks = GameObject.Find("Map Generator").GetComponentsInChildren<Transform>();
            foreach (Transform c in chunks) {
                if (c.gameObject.name == "Terrain Chunk") {
                    toMove.Add(c.transform);
                }
            }
            toMove.Add(GameObject.Find("Camera").GetComponent<Transform>());
            toMove.Add(GameObject.Find("Player").GetComponent<Transform>());
            toMove.Add(GameObject.Find("Cloud").GetComponent<Transform>());

            foreach (Transform t in toMove) {
                t.position -= cameraPosition;
            }
            }
    }

The one and only bump!