Object hierarchy - scale does not change location
It's due to the parenting and an expected result.
When a child appears scaled due to its parent scale, the child own coordinates, scale or rotation won't change.
That's allow, when unparenting AltP, to have the choice between &quot;clear parent&quot; and &quot;clear and keep transform&quot;.
Internally, Blender keeps the object own coordinates in matrix_basis and the resulting coordinates of its dependencies in matrix_world.
Also, moving the parented object by x unit will result in a move of its own coordinates of x unit times the inverse of the scale given by its parent. So, all is coherent.
If you want to keep parenting with scales and locations being applied, select all the parts and use CtrlA to apply, then &quot;scale&quot;.