I wouldn't say that I am afraid to speak Russian when I am travelling abroad. The reason why I speak English is that I need more practice. It would be foolish to speak English to the people on the street in my country, wouldn't it? I think that it is a good opportunity to start working on your speaking skills while travelling. It is very difficult to bring yourself to practice English when you are constantly tempted to switch back to your native language whereas being surrounded by foreigners it is much easier.
Sometimes people don't want to reveal their country of origin because they are going to avoid bias towards their countries or languages as Marcin put it. I also can't agree more with Lian that people could simply be introverted and thus don't want to attract attention. And finally, it could be the expression of the intelligence and good manners. Personally, I don't like when people are shouting discussing their problems as if everybody in a bus is their family. And I am speaking about my language, not to mention the language that I can't understand, therefore, strangers in most cases just want to be polite speaking in English assuming that it is an international language which everybody is supposed to understand.
Interesting observation. I do this as well, but I also do this in my own country. I just don't like to be loud, and possibly overbearing, in public. Anywhere.
Another reason might be is that foreigners attract attention, and some people don't like the attention? They are shy and introverted maybe?