As I see it, the problem with using GBS would be you'd need LSDJ's driver and the data playable from that driver. Is that possible? I know there's a replay cart but I don't think there's a compilable driver out there for it. (unless you can hack it out of the replay cart I guess)
The streaming format (VGM) is more viable because you don't need any help on the code side, it's just sound registers being updated per frame. You can use Nanoloop, p5, whatever. And there are enough public compression formats that 3-4 minutes is viable in 32k or so. (Exomizer does a good job for me)
Last time I looked at streaming Gameboy sound data the problem I found was there wasn't an emulator that would log the sound registers for me. (I ended up with a custom solution thanks to a friend of mine) But maybe that's changed.