Welcome to Smogon! Take a moment to read the Introduction to Smogon for a run-down on everything Smogon, and make sure you take some time to read the global rules.
This happens because the charizards image is defined as the default background in the css code, so that gets loaded in first before the code for the background stuff can take over and replace the image. I guess it would be nice if this didn't happen but it's not much of a bug in my opinion...
This is not a bug simply due to the fact that berserk gene does not exist outside of gen 2. Using it in any other generation/format is undefined behavior, so we will not "fix" any behavior that can't actually be verified in game.
In fact, here's one that works pretty well for what you want: https://chromewebstore.google.com/detail/html-elements-screenshot/mckfdaahjhmnchjihljdiakamamondld
I don't really remember what the crash was now, that's my fault for not putting it in the pr description. Using onResidual is probably fine, the volatile originally didn't even have the Residual order stuff which is why it was using onEnd.
This also boosts speed on Showdown: https://replay.pokemonshowdown.com/gen9customgame-2051915245-xc3wb2zzafxckcyd0l6m8w70x8kwprdpw
Was your speed stat lowered when you got the Sp. Atk boost?