However, if I deploy the application through Store-> Create App Packages, and then try to cancel the loading of the application on (different) Windows-10 machines, the language change will not be correctly reflected.
But: if the user has the appropriate Windows-Language-Pack installed, the application works fine. I assume that Windows check which language resource file it will deploy with the installed languages in the system:
I can reproduce this behavior if I set "Create application package" as "always" or "if necessary , in this way, as you said, only if the user has the appropriate Windows-Language-Pack installed, the application will work fine.
The reason for this is that if we set “Create application package” as “always” or “if necessary” , it will create an application package. This means that it will cut your application into different parts in order to optimize the download. Only parts related to devices will be downloaded. For example, if there are assets with different resolutions, they will only download those that are suitable for the device. The same is for languages, it will only load the resource file related to the device language. Therefore, if you try to change the language, it will not be able to return to the same base language, because others are not installed. Therefore, if you do not have the appropriate Windows-Language-Pack installed, the application will not display the appropriate language for this property, which points to a resource file.
For more information, please refer to this blog .
How can i avoid this?
If you want to avoid this, the workaround is to set “Create application package” as “never” , as indicated when creating the application package and I tested on my side, it works fine : 
source share