This is a subtle one! Bodies for GET requests are ignored, unless the HttpBody::size_hint provides an exact size, in which case they are transmitted. The size_hint should not affect behavior in this way, AIUI.
I was using the general Client::request API to pass through a request that happened to be a GET with a body.