Safari and Chrome on Mac use hhea.ascender/descender/lineGap to render text box.
Firefox on Mac does the same unless fsSelection=7, in which case it uses typoAscender/typoDescender/typoLineGap
All browsers on Windows use usWinAscent/usWinDescent unless fsSelection=7, in which case it uses typoAscender/typoDescender/typoLineGap
The above article recommends setting the hhea and typo values to be the same, while using Win values to cover exceptionally tall glyphs to be rendered properly on old Windows software.
This may be the reason why Vincent De Oliveira wrote "the HHead Ascent/Descent values on Mac OS, and Win Ascent/Descent values on Windows (these values may differ!)".
But the vast majority of fonts, at least old ones, appear to set HHead and Win values to be the same, including Open Sans.
All these indicate that we should use HHead values.
https://glyphsapp.com/tutorials/vertical-metrics
The above article recommends setting the hhea and typo values to be the same, while using Win values to cover exceptionally tall glyphs to be rendered properly on old Windows software.
But the vast majority of fonts, at least old ones, appear to set HHead and Win values to be the same, including Open Sans.
All these indicate that we should use HHead values.