Seems like a launcher is a no brainer. Why don't more people utilize that approach than?
@MartinK - good reasons. Few comments below For Pure Maps, I am using symlinks to select platform (similar to your UC) and just import using a known symlink name in QML sources. That way QML files are the same and symlink is set while building a package.
I ended up writing bash script for harbour-pure-maps, but that was for command line options support. Not sure whether its store-compatible, but that's a future-me problem.
Obviously there is more flexibility using C++, as you outlined. Flatpak does require exe (script or something else), indeed. Have been using a script so far.
As for disadvantages - mainly missing noarch and a need to compile the code for distribution.
As soon as you start extending with C++ (cannot use plane qmlscene or similar), development will be hit a bit. So, while not really needed, its better to avoid it as well.