Look at collector.js, in the first dozen characters it's already using ECMAScript 6 standards like promises. At the very least you need to change that "last 20 years" to the last 5 years.
According to caniuse, promises are supported by Chrome since v33, by Edge since v12, by Firefox since v29, and by Safari since 7.1.
Both Chrome 33 and Firefox 29 were released in 2014.
Near-universal: not universal. But people still running very old devices or browsers are not going to have a fun time on many sites regardless, and WebGPU is not likely to be used casually on random sites: it will be used for the same stuff that WebGL and canvas is today: mostly for special-purpose things like games, some visualisations, etc. – the sort of stuff that very old and slow devices will have trouble with in the first place.
So for fingerprinting, got it.