Strange behavior with non-uniform scaling and parenting

So I’ve been using Unity for many years, but I haven’t come across this issue before. I guess it’s because non-uniform scaling isn’t something I’ve been using that much.

Anyway.

When parenting an object to another object that has non-uniform scaling, weird things start to happen:

The only way I’ve found so far to prevent this from happening, is to create a child object that “undoes” the scaling of the parent object, and then use that as parent for the object you want as a child:

I’ve tried doing the same thing in Unreal Engine, Godot Engine and Blender, and none behaves the same way as Unity. In them, when you make an object child of a parent with non-uniform scaling, the scale is preserved and no distortion occurs.

Which brings me to my questions -

Why this unorthodox behavior?
What could possibly be the benefit of Unity behaving in this manner?
What causes it to happen in the first place?

Hi!

There are some limitations when using rotated parent objects with non-uniform scale: https://docs.unity3d.com/Manual/Transforms.html