So, my site main language is English.
I've translated to Portuguese
I have all pages translated and also de main menu
but
browsing the site in English (or in Portuguese) when switch language clicking the "other" language, the menu doesn't refresh. And the site goes to the home page.
I then need to refresh the page on the browser to have the right menu displayed
What am I doing wrong?
You are not doing anything wrong. It relates to your current theme, as it probably doesn't refresh the page. I believe that the issue does not exist if you test it with any default theme.
You can try to enable the option "Store a language cookie to support language filtering for AJAX" in WPML → Languages → Language filtering for AJAX operations.
If this doesn't help, I am afraid we can't do anything much here. I suggest you contact the author and ask him to apply to our Go Global program to make his theme fully compatible with WPML.