I have been playing with Unreal rotation recently and found something peculiar when I attempted to rotate something around more than one axis.

For example, having rotated a component around the y-axis for -90 degrees, it would look like this:

When another 40 degrees of rotation is applied around the x-axis, the result looks like this:

Somehow this looks exactly the same as applying 40 degrees of rotation around the z-axis after the first rotation:

How did this happen?

Also I found that if I manually rotated the component with widget to perform a 10 degrees yaw after the first rotation, the result values for all x, y and x became quite unexpected:

So in general, how does Unreal rotation around multiple axis work?