if responses from web servers are encoded MWG will decode them in order to apply filters. Because re-encoding would take a lot of resources MWG does not re-encode any traffic but sends it to the client decoded. One of the reasons to use encoding is to save bandwidth and the usual use case for a proxy is to have it in-house, so this behaviour is as designed.
I don't think that this behaviour is forbidden by RFCs. Both connections (Client <-> MWG and MWG <-> Server) are valid HTTP connections.
I have seen a couple of FMRs to keep the gzip encoding, but as far as I know at the moment this is only possible by calling an HTTP Tunnel event and do not parse the response through the rule engine, which means it will not be filtered.