How about using a format that has actually been designed to be a compressed read-only filesystem? Something like a SquashFS or cramfs disk image?
Sometimes (read: very often) you can’t choose the format. Obviously if squashfs is available that is a better solution.
Because their use case was to support existing tarballs of code.
The problem they’re solving is literally right there in the article you didn’t read.
When looking at established file formats, I'd start with zip for that usecase over tarballs. zip has compression and ability to access any file. A tarfule you have to uncompress first.
SquashFS or cramps or such have less tooling, which makes the usage for generating, inspecting, ... more complex.