When scripting you have 2 ways to change a position, by using
position or by using
position is relative to the parent, so when a node moves, it moves the origin of its children.
global_position is relative to the root's origin(i believe) so it stays the same even if the parent's origin is changed
i dont know if you can disable that but you can reset the node's position everytime you move it to the global position you want it to have