I think you have to accept that there is nothing you can do, except get damn good at Japanese. The reason they feel comfortable speaking to you in English even when you ask them something in Japanese is most likely because there English is better than your Japanese. Not to say that you wouldn't understand their answer in Japanese, but having better 2nd language skills they feel comfortable just using it. It's just hard fumbling with your second language when you know you could switch to your first and they would be fine. So my advice is study hard, get good and show them you rock and some will change. Some of course won't feel this pressure so much and will still use English with you, but there's not much you can do about that.
I have experienced this effect by the way where I work. I have switched the main language we use to Japanese for 2 of the staff.
Until that time, you have to accept that there is nothing you can do about it. They have a right to use English and are obviously aware that you want to speak Japanese. There is also the efficiency of the business you have to consider. If their English is better than your Japanese, then it is quicker and more effective to speak in English.
Aside from getting really good at Japanese, I think you should chill out about getting as much possible speak practice as you can. Make jokes with the staff, have a good time, get to know them and have fun! (sorry if you are doing this already) They are much more likely to chill out themselves and use their native tongue with you if you have a good relationship already. Instead of always asking them things in Japanese, ask them in English. Show that you don't think they are not walking Japanese practice machines. Show them that you are respectful of their desire to practice English and they may do the same when you sometimes speak to them in Japanese. Or maybe not

For me at least there is one girl who I have such a relationship with and whether we speak in English or Japanese, we have a good time.
When you are spoken to on the train in English, again be respectful and let them practice their English. If they can't say or communicate something then you can check their meaning in Japanese eg "I work car." "You mean at a car factory?" "Uh what factory?" "車の工場で働いているということですか". When they you see you can speak they Japanese some will be delighted and switch immediately to the much easier language for them, some will be annoyed, some will say yes and ignore it. But I think showing that you have been kind to them will make them more inclined to treat you as a human being rather than an English speaking practice machine.