After doing a little more digging/detective work, I may have partially answered my own question. It seems that the game loads and runs after pulling the correct 7MB of data, then downloads the additional duplicate stuff after launch.
The console gives me the message: [SW] Caching 34 files for offline use.
So, it seems the redownloading of files is due to the game caching itself (hence why it loads very quickly at the next refresh) and doesn't impact the initial load time as the game is already up and running while it is doing this in the background.
That's cool with me - it doesn't affect the initial load speed and in fact improves load times thereafter.
I just have a small remaining question about the caching - this seems like it creates problems when I update the game.
As a test, I made a small change to data.json and reuploaded it (in this case, I made a small alteration to one of the on-screen text elements). Then when I visited the game page, the change was NOT reflected until I cleared my cache.
I intend to update this game a lot - how can I make sure the cache is only used when the game hasn't been changed since the last visit?