Yes it's sad how in software development, the most straightforward ways to do something (just specify cm) are usually broken. It's always exception built on exception, different per platform, different per browser.
I guess to do it correctly you'd have to write javascript to reliably detect the DPI on all platforms/browsers (as far as possible, if not make some educated guess) then adapt your text sizes to that :(
So I can certainly understand 'just choose 16px and be done with it'.
While it makes sense to use a resolution-independent scaling, keep in mind that mobile should have a smaller font size in inches than a full screen, akin to the font size in a book. I certainly don't use my phone with arm outstretched.