The audio compression / limiting can be done client-side, at playback time, offloading the cost of the operation
On the server side, they could maintain a separate compressed audio track and switch to it when requested. They should have the ability to do that anyway for alternate languages and commentaries and such. Whether it would be more cost-effective to maintain a separate set of compressed tracks or to decode/compress/re-encode on the fly, I don't know.
It might be tempting to maintain caches of compressed tracks created on demand. That way they'd almost never incur a runtime penalty on the server, and also wouldn't have to pay a lot for storage. More than a weekend's worth of work at that point, though.