Where your users are should take precedence over where you are.
I agree with @jamesmadison2, many ME traffic are routed through EU. You should do a bit of ping experiment if you want to optimize the location. Germany is an OK location but also check Bulgaria (cheap) and Turkey (costs more but will be cheaper than Bahrain).
You can’t just look at geography when it comes to network distance. In the past, I’ve seen traffic between 2 nearby towns in Michigan being routed through Chicago. Or Poland to Poland traffic routed via France. So you should do some testing if network latency is important.
Hetzner and AWS offer small instances usable for short duration (without paying for the whole month). You can experiment with these instances or look at various looking glasses.