One little advantage for web apps: the app (js code) can be downloaded just in time (not that 99,9999% ever make use of this).
If you have a game with 100 levels where a map of one level is 1mb, and 50% of visitors do not like your app and leave at the first level, they may have downloaded some fix code and 1mb, but 99mb stay on server...
Js has modules and dynamic imports for quite some time. Even app logic can be built with dynamic loading in mind.
Again, not that a news site like cnn will not make 300 request and 20mb download on first visit, showing one image and less than 1kb text :) Just checked.
A web app, in theory, is perfect for dynamically loading things but not inherently more lightweight. As always, it depends. On the task, on the programmer.