In other words, this is enabling a subset of well behaved applets, while excluding the naughty (or advanced) applets.
The browser won't have to re-download on each page load because the browser has a cache, which can be validated on each page load to check for updates.
To be honest, I think that hate of applets comes from a time when 56kbps download speeds were considered very high, the average CPU had 1 core at 200 Mhz and the average webpage weighed 20k and executed 5-10 lines of Javascript.
I haven't used applets in the time, but if the user experience would be improved (nice looking UI, respecting modern UX conventions, etc.), I imagine your average applet from circa 1999 would run circles around Gmail, for example :)
Not amazing, but decent.
I always here these arguments, but if you develop an angular application and somehow can't turn on AoT you need to download a ton of stuff, too. Also it's way easier to make use of dead-code elimination on java than on javascript (especially without reflective code)
As for Java libraries, TeaVM is able to throw away unused parts of it, producing relatively small binaries.