Currently, 'Change language' functionality automatically changes 'Language Preferred' option in Your Settings.
For me, 'Change language' functionality should be perceived more like a temporary option for switching language and checking translations. So, when you change language via "Change language" then after log out and log in, language should be loaded back from 'Your Settings - Language Preferred'.
I expect that language preferred is saved in the database and no matter where you login to Mifos as a particular user, you always see the same language - specified in Your settings.
For the best usability, it would be good to add checkbox in "Change language" pop-up window -> "Set this language as Preferred language". And only after user selects this checkbox and change language, then this language will be saved in the database as a new Preferred language.