I can post with confidence in this megabump that this issue is with the ADPCM decoder. Either it is broken, or it is being misused.
This particular file appears to switch several channels into ADPCM mode while they are still running.
Specifically, 07bg30c.dsf. I can't really find any other startling cases of ADPCM messes, except it does seem to affect percussion in at least this file.
It is a mystery, one which I'll be taking a short break from.
E: Is there a single DSF player that can play this file without problems?
Despite lack of dsp and probably being outdated as ****, the in_aodsf plugin seemed to play them without issues... except too much positive output (for lack of better words) that screwed with volume.
As I already reported, they play back sort-of fine if you disable the DSP, but they still start to overflow.
Killing 4-bit ADPCM sample decoding nukes the drums in most of the songs, but completely fixes all volume issues, even when rendering a perfect DSP chain.
There are issues with the ADPCM decoding. I need to figure out what they are. Eventually.
I tried to create a sample logger, that would log each nibble of an ADPCM sample to a new file for each new ADPCM note, and ran into a crash with the logger. The crash was triggered by an odd address on the first nibble of an ADPCM sample, because something switched a running channel over to ADPCM mode, and this core doesn't double the sample position or halve it when switching between modes.
This stuff needs more testing against real hardware. It's not that hard to test, either. Especially since they're static DSF files.
Basically, to play them on real hardware, you just need to halt the AICA's processor, upload the data from offset 4-end of the DSF compressed section to the AICA RAM address indicated in the first four bytes as a little endian number. Then reset/start the ARM7.
Simple if you know how to program for the Dreamcast, I guess.
Bumping this edit with a link to a GENH sample. This ride cymbal decodes oddly with the known decoder, and presumably decodes perfectly fine on actual hardware: