[1] - https://www.w3.org/TR/css-color-4/#rgb-to-hsl
Only if the value of d is zero. That happens iff r == g == b, so for white, black and the gray values in between them.
That technically is right. https://en.wikipedia.org/wiki/HSL_and_HSV:
HSL and HSV are both cylindrical geometries (fig. 2), with hue, their angular dimension, starting at the red primary at 0°, passing through the green primary at 120° and the blue primary at 240°, and then wrapping back to red at 360°. In each geometry, the central vertical axis comprises the neutral, achromatic, or gray colors ranging, from top to bottom, white at lightness 1 (value 1) to black at lightness 0 (value 0).
So, for the colors on the central axis, the hue is undefined.
Picking any specific value for the hue would be an arbitrary choice.