https://docs.unity3d.com/ScriptReference/Quaternion.Euler.html
It says : "Returns a rotation that rotates z degrees around the z axis, x degrees around the x axis, and y degrees around the y axis; applied in that order."
However (AFAIK) to do the same rotation in 3 separate steps you must do it in reverse order :
Quaternion q = qY * qX * qZ;
Why is it so ?
I have created a JSfiddle that illustrate this : https://jsfiddle.net/b19zg6ew/1/