It bothered me that no-one ever addressed this, but recently I stumbled across the Unicode Consortium's Common Locale Data Repository (or CLDR)
Drilling down further, I found a summary chart (here) of the number formatting patterns in CLDR. This contains two basic grouping patterns:
#,##,##0.###
: Indian languages, traditional use# ####
: Chinese and Japanese traditional (not in CLDR; I discovered this later)#,##0.###
: everyone else
so even my naïve assumption #1 from several years ago gave far more latitude than was needed.
However, the number formatting chart does appear to cover only base 10 modern languages. For example, it does not include Hittite, Mayan, or Babylonian.
Finally, I don't believe std::num_get
is adapted to non-positional notations (like Roman numerals).