This is probably the culprit: https://github.com/sniklaus/experiment-raytracer/blob/master...
It declares that floats should only be medium precision by default, but those precision specifiers are only followed on mobile platforms.
Desktop WebGL implementations just promote everything to high precision so that kind of bug is invisible until you test on mobile.