Thanks for all that background, Brion.
You wrote:
Now, it would appear to make reasonable sense to pick a more detailed language code when variant conversion is in use, so that browsers' font selections pick the matching variant. On this I concur completely.
So if I'm understanding all this (including several of the other things you wrote) the progression would be:
First implement language code adjustment when variant conversion is in use (and based solely on that variant conversion). This seems to be the most clearly required, the most straightforward to implement, and the most likely to yield big benefits.
Then, if there are still problems which variant conversion can't solve, investigate additional language code adjustment based on the user's user interface language preference.
Then, if there are *still* problems, revisit the possibility of also looking at the browser's Accept-Language header.