Typical…research my issue for ages, not find anything, so I post here.
Research for a bit after posting – find the solution! I think my 50Hz Pal SNES was trying to play a 60Hz game, hence it being out of sync. It is modded, so I set it to 60Hz, and the sound is now in sync.
I’ve patched my Dreamcast games, so will see if that fixes the issue too.