Yes and no.
Yes:
It offers a smaller range of colors assuming that integers are required for each value. Photoshop, for example, requires HSB values to be integer and will yell at you if you try otherwise:

However, your math seems to be off. You're on the right track with RGB: each value can be an integer from 0-255, so the RGB gamut consists of 256³ or 16,581,375 colors.
For HSL, the value constraints are different. H can be 0-359, S can be 0-100, and B can be 0-100. So the number of unique HSL triplets is 360*101*101, or 3,672,360. This does not yet take into account duplicate colors and we're already significantly smaller than RGB.
I am not good enough at statistics to calculate the number of unique values for integer-based HSL, so I won't even try
As a result, there is going to be color collision. You can try this yourself by checking the value of two very close RGB values. For example, #00AAAA
and #00AAAB
are both converted to 180°, 100%, 67% in Photoshop:

No:
Illustrator is a bit more laid back. It is happy and willing to accept decimal values for HSB:

CSS3 also accepts decimal values for hsl()
and hsla()
. This implementation makes it way more granular than RGB, which should never accept decimal values.