yep I have the same issue, I even went into it once and it was all in german. Luckily I was born in Germany although I'm British "Army" so I understood how to change it back. I get the feeling the settings are saved in your browser rather than on the Elite servers so if you reset your browser; use a different browser, device or PC it will go back to default. What they need to do is make it part of your profile so that its saved on their servers and pulled at login by PHP or whatever they want to use. rather than browser Cookies.
I am sorry to hear you are having this problem. The flag on the front Elite page, is there strictly to show what language you are using for your Elite page. This doesn't change your region just the language displayed throughout Elite and callofduty.com.
Your profile determines what your country is and can be edited at profile.callofduty.com. Also, if you would like to edit your region settings (time zones specifically) I recommend doing so at elite.callofduty.com/account/settings.