Since Babylonjs 4.0, it appears to be a breaking change in AxisScaleGizmo.
The scaling is now determined by pixels moved by the mouse, opposed to distance moved in world coordinates as in v3.3. I found that behaviour more useful in most cases.
The scaleRatio can be changed, but it only set the size of the scale handle, which is normally just needed once, whereas the real scale factor can only be be set in the constructor, namely the dragAxis.
I found a workaround to modify the dragAxis by keeping the dragAxis vector given in the constructor, and then modify it later, but I guess that may stop working in the future if you decide to clone the vector instead of using the reference to the vector given in the constructor.
/EDIT: When setting the .uniformScaling flag, it no longer use the dragAxis to determine scaling (which I suppose is natural, since the components may differ), but it means I cannot use this flag, instead I set all components of dragAxis equal.