THREEjs: updating an object's matrix doesnt change it's position and rotation params
I think you need to call setFromMatrixPosition(m) again after updating the matrix. After all, you need to update both the position and matrix, not just the matrix.
mesh.position.setFromMatrixPosition(mesh.matrix) or mesh.position = new THREE.Vector3().setFromMatrixPosition(mesh.matrix) right after mesh.updateMatrix()