Unfortunately the problem here is not with Gimp, it's with GIF. GIF does not support partial transparency.
If you must use a GIF file then your only options are no drop shadows, or having a solid background behind the animation so partial transparency is not needed.
You could possibly use small dots instead of a gradient to get a less than perfect ...
Reposting (with permission) mathr's answer from Mastodon
Save the code below to script.sh
# 1. get input frame count (note two spaces after the "\")
count=$(gifsicle --info < input.gif | grep "<stdin>" | cut -d\ -f 3)
# 2. define how many times to repeat frames
# 3. construct new frame list
frames=$(for i in $(seq 0 $((...
You can do it, you have to merge every frame of the animation over as any copies of the still image. Pretty tedious but there are scripts that will do this for you, see for instance ofn-interleave-layers(you want the "single layer under stack" option, see the HTML doc included in the ZIP).
First and foremost, the speed a GIF plays at depends on your browser and hardware capabilities. Nothing to do with Photoshop really. If you set the frame speed faster than your browser can display it, then you simply won't notice that it's actually playing slower. You may have simply noticed this now because you have a new computer that has newer/better/...