I figured out, why it was not working - still I don't know why it behaves like this. (Maybe a UnityEditor thing)
webRequest.ProtocolVersion = HttpVersion.Version10;
and everything worked. No more timeout errors. And yes
webRequest.ProtocolVersion = HttpVersion.Version11; results in the timeout error.
However, making a HttpRequest from the web succeeds with either of these:
HTTP/1.0 (with Host header),
HTTP/1.0 (without Host header)