Update to this - I'm 99% sure I've not changed anything regarding screenshots since reporting this, butwhen trying it today, all but one RetroArch core (PrBoom) is now saving screenshots correctly in the directory I specify in the retroarch.cfg per system.
I had updated RetroArch on my setup from the RetroPie-Setup script, so my best guess is that this was an issue that has since been resolved in RetroArch.
Only one that still doesn't save correctly is PrBoom (Doom) - they still go into the /opt/retropie/configs/all/retroarch/screenshots directory.
Thanks everyone.