The following example shows an issue with setting HSL values on a color property in QML. First the color property called testColor is set to a valid color #ff00ff. Afterwards it becomes invalid/achromatic by setting the lightness in Qt.hsla() to 0. This can be observed by printing out the HSV color values of that same color.
The meaning of the "Qt returns a hue value of -1 for achromatic colors." is that when you have an achromatic QColor in some other color model and ask QColor to convert it to either HSL or HSV, then QColor will assign it a hue value of -1, (having no other sensible value to give it). But if you yourself set the HSV/HSL values directly, then you are assumed to know what you're doing, and QColor will just store the values as given.
After having an invalid/achromatic color setting values like hslHue and hslSaturation won't work. Even setting the color by using Qt.hsla() won't change it. Once you have set the lightness of an HSL color to 0, you can't set the saturation. It won't trigger an update or what so ever. As long as lightness is 0 the color won't be updated.
The actual issue is that doing it with the HSV model will work without an issue.