Since some recent update, Dota seems to not keep the regions information on the disk, so it resets at every start. This is bloody annoying for users like me who want to play on custom regions. Do you know how to fix it?
There is no way to fix this.
Valve introduced this as a temporary measure against people playing on servers other than their local server. Many a times you would be matched with people with whom you couldn't communicate at all due to language barriers.
The players who care enough to want to play on a certain server will change the servers but the players who don't care will just continue queuing in whatever server they are put in thereby decreasing the amount of games which contain players speaking a different or players who may have higher than normal ping.
It's not too hard to change which server you want to play on. Click on "PLAY DOTA" and then in the bottom right corner click on "regions:auto" and you can choose whichever server you want to play on. It's just that it will reset everytime your restart dota.