1) This is worth to report, but rather as a feature request. Support for automatic decoding may be done easily using WinHTTP WINHTTP_OPTION_DECOMPRESSION option. And probably already in 10.3 Update 1. As a quick workaround, you can modify System.Net.HttpClient.Win.pas, for example:
function TWinHTTPClient.DoExecuteRequest(const ARequest: THTTPRequest; var AResponse: THTTPResponse;
const AContentStream: TStream): TWinHTTPClient.TExecutionResult;
begin
.....
// Enable automatic decoding
LOptionValue := WINHTTP_DECOMPRESSION_FLAG_GZIP or WINHTTP_DECOMPRESSION_FLAG_DEFLATE or WINHTTP_DECOMPRESSION_FLAG_ALL;
WinHttpSetOption(LRequest.FWRequest, WINHTTP_OPTION_DECOMPRESSION, @LOptionValue, sizeof(LOptionValue));
....
end;
2) THTTPReqResp was using WinINet API directly. In 10.3 it was completely reworked to enable support of other platforms, including Linux, OSX, etc.