Funny enough I just queried on t-mobile and it seems to work:
{"query":{"query_string":{"default_field":"text","query":"t\-mobile"}}}
The reason is because json also uses escape characters. Combined with your link I guess this is correct.
Kind regards,
Stefan.