This is the right way. Speak the language you want. Even if they reply to you in English, and they know you can speak English, continue in German. They will understand. They switch to English because they want to be helpful. If you continue in German they understand you prefer it that way.
Another thing is that once you start talking with a person (who you meet on a regular basis) in one language, it is hard to switch to another language at a later date. So if you start with English, it is hard to go back to German. But if you start with German, even if it is less fluent for you, it will come natural that with that person you speak in German.
Another thing is that once you start talking with a person (who you meet on a regular basis) in one language, it is hard to switch to another language at a later date. So if you start with English, it is hard to go back to German. But if you start with German, even if it is less fluent for you, it will come natural that with that person you speak in German.