If there are multiple keyboard layouts in the list, the one of the top is select as the active every time xfce starts. If you select a different one it is reset to the one on the top when xfce is restarted.
This looks like bug #5205
I confirm that. There are several aspects to this problem: * It does not seem to write the default layout into xfconf, and the dialog does nto allow to reorder them; if you would put the currently selected layout first, X would switch to it once you set it through xkb. * If you use gdm: gdm has its own keyboard layout switcher and a per-user setting in ~/.dmrc (so that you can type your password with your preferred layout, or just generally change the keyboard from the very beginning). This is passed as $GDM_KEYBOARD_LAYOUT. gnome-settings-daemon uses that to pick the layout to set from the list of available ones. Is XFCE meant to respect this? So option 1 is to teach the keyboard dialog to put the currently selected default layout into ~/.dmrc (e. g. "Layout=de nodeadkeys"), so that it will apply to gdm as well, and then teach the settings helper to check $GDM_KEYBOARD_LAYOUT, and set that layout by default. Option 2 is to either mark the default layout by putting it first on the list in the perchannel XML, or add a new key for it. What do you prefer?
I just got aware that this is against -mcs; do you want me to reassign this to -settings, or open a new bug?
It seems it was wrongly assigned to mcs (the bug was filed after the 4.6 release, and 4.4 didn't include a keyboard layout dialog).
This should be fixed in git master, please report any remaining issues. Note: I did not implement the GDM stuff, I just fixed our own stuff.
Just tried git head, and confirm that it's fixed there. Thank you!