(Esta resposta é apenas sobre o xmodmap. Tenho certeza que é possível fazer isso com o XKB, só não sei como).
Modificadores e keyyms são atribuídos de forma independente. Mas você tem efeitos estranhos se não os definir consistentemente. Acho que tudo o que está faltando é o comando add para atribuir um modificador a Meta_L , embora você também precise limpar e reatribuir as teclas modificadoras. Você pode substituir Mod1 e Mod2 por Mod3 , Mod4 e Mod5 : eles são intercambiáveis, apenas certifique-se de não usar um para dois propósitos diferentes.
clear Mod1
clear Mod2
remove Lock = Caps_Lock
keysym Caps_Lock = Alt_L
keysym Alt_L = Meta_L
add Mod1 = Alt_L Alt_R
add Mod2 = Meta_L Meta_R