The free Python 2 versus paid Python 3 split you ran into wasn't arbitrary pricing. Trinket ran Python 2 entirely in the browser through Skulpt https://skulpt.org, a JS reimplementation that costs nothing to serve, while Python 3 needed real CPython on their servers because Skulpt never fully covered 3.x. Pyodide compiling actual CPython to WASM is what changed that math, which is exactly why your trifling rewrite can offer real Python 3 offline for free.
Ah, interesting. Yeah, I looked at Skulpt a bit, and it looks really nice, although not as compatible as pyiodide, especially for python3. I did consider using it as a fallback if wasm is disabled.