Well, I came here after I found nothing on the Brazil-related forum pages.
I think you are right with the Preferred language by country. I have tried out a few things, nothing seemed to remedy the problem.
What finally did the job was:
Delete the app totally, erase the /waze subdirectory, fake a GPS-position in Britain, make a clean install, and then make waze believe that you actually are driving around in Britain for a few miles. That, and only that, did it.
When I switched back to my real GPS-position in Brazil, the voice recognition stayed on (British) English.
I have not switched menues, TTS etc back and forth to different languages, mostly for a lack of time, so I have everything set on British English now. And it makes me laugh a lot when my new waze girlfriend from England pronounces the street names in Brazil
One last thing: I think that deleting the ASR-language file alone would do the job. While trying a few other options, I got the voice recognition to talk to me in German once (I faked a GPS position at the border of Austria with the Czech republic and virtually drove a few meters on Czech territory - and suddenly she spoke to me in a German (not the Austro-Bavarian type of German, but a quite distinctive northern German accent we know from WWII-movies and the like
And yes, it seems there are a few commands that are not localized. One of them has to do with the mood I have been using a lot, namely
So long, keep Wazeing!