A lot of that data doesn't actually exist, ostree hardlinks data blobs internally, so the actual size on disk is much smaller than most disk usage tools will show.
Flatpak uses OSTree - a git-like system for storing and transferring binary data (commonly referred to as 'blobs'), and that system works by addressing such blobs by hashes of their content, using Linux hardlinks (multiple inodes all referring to the same disk blocks) to refer to the same data everywhere it's used.
So basically, whenever Flatpak tells OSTree to download something, it will only ever store only copy of that same object (.so-file, binary, font, etc), regardless of how many times it's used by applications across the install.
Note that this only happens internally in the OSTree repo - i.e. /var/lib/flatpak or ~/.local/share/flatpak, so if you have multiple separate Flatpak installations on your system then they can't automagically de-duplicate data between each other.
That's why I think AppImage is the best. Despite needing to pack everything it needs it's always far more lightweight than flatpak. I'd rather download a 50mb appimage than several gigabytes of an entire OS libraries and then the updates requiring roughly the same size. That and I have a shitty internet
TBH I dislike Appimage purely because I can't be bothered to go and check them all individually for new versions all the time, it feels like being on Windows again. I don't mind a little bloat for the sake of convenience. But that's just personal preference of course.
I have all apps I use daily in the appimage format. Yesterday I decided to try btrfs for my root partition and did my annual Linux reinstall. All my apps were already there and ready for work from the start.
I also have a usb flashdrive always on me with the same appimages. Just in case I'd wipe a hard drive by accident and wouldn't have an internet connection or something like that (in case of emergencies). You can't do this with flatpaks or snaps.
I always use the app image if they are available. As for being slow I never noticed.
No app desktop entry is one on the reasons I like them. If its one I use a lot I make a hotkey to open it. But there are ways to add them. There is even a tool that makes its easy to do.
No updates. I'm not sure how exactly, but everyone I use auto updates when I open them. I originally had a issue of it breaking my hotkey cause the file name would change because of the version number going up. Which I fixed by using a *.
There was an app that dealt with desktop entry and auto-update but it hasn't bee updated since a few years already.
no repo (= virus danger)
Can be remedied with an official store/ being distrubuted by the devs themselves instead of random people. Appimage isn't getting a tenth of the support flatpak is getting.
no deduplication of libraries
Might worth it if you have dozens of very heavy apps but it's totally not the case if you only need a few simple programs.
In my experience updates aren't that big. The flatpak cli ux is just confusing to read how much data actually has to be downloaded because of deduplication.
I have like 4 gigs of flatpak updates I keep unchecking because at my horrible internet speed it would take the entire day if not more to download. Honestly, if you're right then this is a horrendous design flaw.
I fell for the lie of flatpak not being bloated, I just nuked flatpak from my PC since I just run arch anyways. Im not sure if repo is safe to remove. You might be able to run rmlint -g and see how much data can be deduplicated on an FS level, I never checked myself since I run f2fs, but if you run an FS with dedupe capabilities it may work for you.
It's not as dramatic for me but it's still bad. I myself freed at least 20 Gb from my computer when I remove flat pack and all of its crap. and migrated my apps to aur myself.