@kaiser toscho suggested that it could be double encoded gzip. On W3 Total Cache I disabled "Page cache" which says it compresses. The problem vanished, but I'd still like to understand what's going on. But if toscho posts this as an independent answer I'll mark it as correct. —
oneloop 1 min ago