Until very recently it was a thing in all browsers, with a variety of lower bounds depending on which browser. It was meant to prevent accidental busy-loops when developers forgot the set the time parameter IIRC.
hmm, I can't recall ever noticing it but probably I didn't because it didn't come up or more likely because if I want immediate I explicitly set 0, but anyway the ticket https://trac.webkit.org/changeset/291998/webkit/ says
>This patch removes the 1ms minimum for setTimeout. The HTML spec makes no mention of such a minimum, and Firefox and Chrome do not enforce this minimum
so I guess it was other browsers with the varying minimums, or these two removed it earlier.