SQL Server 2008, SOAP Endpoint, http.sys, timeout
For anyone who might stumble into this, too.
It turned out to be not a matter of timeouts, but sizes of the POSTed payload. The transfer would always get stuck if the size of the posted parameter would be over a certain threshold (somewhere between 8 and 9 Mb). 
What fixed it was setting the SSL version to 3 as one of the CURL options (we have a custom SOAP client library).

A big complication in debugging it in our case was that certain servers were behind a load balancer built on Nginx proxy. For those, the call worked fine! But not for the ones that we connected to directly. My guess (I am no specialist in neither Nginx nor SSL) is that Nginx has enough compatible interfaces on "both ends" and was able to receive the call and forward it to the server properly.

What lead to the solution was trying communicating from different clients. When it worked fine from SoapUI but not from our library it was only a matter of prying on every detail of the connection parameters until something made a difference.