Though from 2017, check out this blog post explaining Flatpak's architecture.
https://blogs.gnome.org/alexl/2017/10/02/on-application-size...
I can't speak for the others, but Flatpak is a layered solution, so files are deduped and shared across the layers (runtimes, applications) that need them.