Bem, encontrei uma solução menos do que perfeita; usando o ibus ao invés do xkb puro. O método ibus manipula os dois layouts corretamente.
Vou postar um relatório de bug e ver o que eles pensam. Talvez eu esteja fazendo algo errado, mas não consigo ver o que exatamente.