The documentation for the -query option specified the following:

This flag causes ::http::geturl to do a POST request that passes the query to the server. The query must be an x-url-encoding formatted query. The ::http::formatQuery procedure can be used to do the formatting.

However this does not make sense of -type is also set. Empirical evidence seems to suggest that if -type is set, then -query can be in other types than x-url-encoding can be given to -query, and will be past as-is. This can be important e.g. when posting REST queries formatted with JSON, such as with the Google URL shortener API:

It's a small fix, but marked important as it's not obvious this can be used to do this core functionality.