For SEGACD support on genesisplusgx core, I read sometime ago the dev said it would require hugue changes to the core and how it processes the game loading to implement it, and there were no plans to do it anytome soon.
In the meanwhile, for platforms with games with more than one disc where there is no support for m3u, I use this workaround (it should work for any core):
1-I setup a specific RA config file for the game (one config file for every disk) and I make an override on that config file related to the path of the playlists, I specify a different path for playlists dir.
2-Then I create that folder and create inside it a pls file with the info for those disks on that game.
3-Then you can load the game in RA (first disk), go to RA menu, and on the right you will see the playlist with the 2 game disks, you can load the second disk when needed. It will obviously restart the core, so it’s like launching the 2nd disk directly, but it is a confortable way of switching disks if the restart of the emulated system is not an issue.
4-For RocketLauncher implementation, you should point to your first disk directly.
The saturn core supports m3u disc swapping just like the psx core, so ypur problem on that case must be a configuration problem from your side. I suggest you to review and edit manually the m3u and check the names of the discs files.