If preferred translation language is set on "American English", and then formats is set to Swedish KDE will write locale LANG to sv_SE.UTF-8 (language set in formats) instead the value actually set in translations. Reproducible: Always Steps to Reproduce: 1. Set one language a in Translations. 2. Set another language b in Formats. 3. Notice locale setting LANG from b instead of a. Actual Results: Locale LANG is set by the language selected in b. Expected Results: Locale LANG set by language selected in a (Translations).
Confirmed. Additionally, LC_MESSAGES is unset which should also be set to the preferred locale.
I think you're confusing LANG and LANGUAGE. The former is the fallback for all formats (LC_ variables), the latter describes the languages used for translations. See also "man 7 locale".