okay I solved this by making sure that .bashrc file is not sourced before running startx. My prompt was starting with bash sourced, so in fact when I exited it, xmonad started before .bashrc was sourced. Now with the total system set to English, and a bashrc exporting Esperanto, it starts. I dont know why Xmonad wont start with Esperanto but allows Esperanto afterward. Xfce4 allows an esperanto start. It can be Xfce4 has a more subtle xinit file. I will look into it.
Another weird thing, if a program is autostarted from a bash script, it seems not to follow the previously sourced Esperanto .bashrc. So like if I have:
terminal -T Finch -e finch &
It opens finch from the system wide settings instead of my local user, thus in English. I call the terminal -T Finch in order to auto send a terminal to a specific Xmonad workspace. Multiple terminals without the -T title cannot be sent to workspaces. I tried a workaround by symlinking /usr/bin/bash to my local user bin folder but this didnt source my .bashrc prior to starting Finch (the cli of pidgin has an Esperanto translation).