Nice example. Here’s the problem. (Had to get this from Support.) GZIP returns a String. To undo this one needs ToExpression. In your case, the “CSV” does the necessary conversion.
In hindsight, I can see what’s going on. Prospectively, I couldn’t figure it out.