And a bit deeper: In addtition to the dom navigator.language property, the browser also sends the locale to the server as "HTTP_ACCEPT_LANGUAGE". This property takes the language code from "General -> Language & Region" setting, ignoring the Safari Settings at all. Sounds good, but here also the locale is wrong since the Region selection is completely ignored.
I guess to biggest problem with the "General -> Language & Region" is that people select a region to have the formats ("Live Text") they want to have. So in my region people select "German" and region "Switzerland" and the live text is correct formatted. Safari ignores the region and sends "de-DE" and this reults in diffrent formats on every website.
Now, I know that there is a language "Schwiizertüütsch" (translation would be swissgerman) which is funny because it is written like we speak it, but unless one knows that only this language will result in correct formats (sends valid locale 'gsw-ch'), one will not select it - because we are very used to select german as a written language AND people are scared, that they then are forced to read everything displayed in written swissgerman (believe me, noone wants that).
My suggestion to Apple: Make it very clear that region settings are ignored by browsers and apps built on browsers and or add a language "German (Switzerland)" like the already existing languages "German (Austria)" and "German (Germany)".