MIDI Files with UNO R4 and VS1053 Shield

I have a VS1053 MP3 Shield stacked on an UNO R4 Minima. It plays MP3 files fine. I'm trying to get it to play MIDI files. It finds them but isn't loading/playing them, so something's off somewhere. Either I've missed a pin assignment in my code or got one wrong?
Code is below. Ideas/comments very much appreciated at this point.

#include <SPI.h>
#include <SdFat.h>
#include <MD_MIDIFile.h>

// ---------- SD ----------
SdFat SD;

// ---------- MIDI ----------
MD_MIDIFile SMF;
// ---------- VS1053 pins ----------
#define VS_XCS   6
#define VS_XDCS  7
#define VS_DREQ  2
#define VS_RESET 8

// ---------- MIDI callback ----------
void midiCallback(midi_event *pev)
{
  // wait until VS1053 ready
  while (!digitalRead(VS_DREQ));
  // send MIDI byte stream to VS1053 SDI
  digitalWrite(VS_XDCS, LOW);
  for (uint8_t i = 0; i < pev->size; i++)
    SPI.transfer(pev->data[i]);
  digitalWrite(VS_XDCS, HIGH);
// ---------- VS1053 minimal init ----------
void vs1053Init()
{
  pinMode(VS_XCS, OUTPUT);
  pinMode(VS_XDCS, OUTPUT);
  pinMode(VS_RESET, OUTPUT);
  pinMode(VS_DREQ, INPUT);
  digitalWrite(VS_XCS, HIGH);
  digitalWrite(VS_XDCS, HIGH);
  // reset pulse
  digitalWrite(VS_RESET, LOW);
  delay(20);
  digitalWrite(VS_RESET, HIGH);
  delay(200);
  SPI.begin();
}

void setup()
{
  Serial.begin(115200);
  while (!Serial);
  Serial.println("MIDI FILE PLAYBACK START");
  vs1053Init();
  // ---------- SD init ----------
  if (!SD.begin(9, SPI_HALF_SPEED))
  {
    Serial.println("SD FAILED");
    while (1);
  }
  Serial.println("SD OK");
  // ---------- MIDI init ----------
  SMF.begin(&SD);
  SMF.setMidiHandler(midiCallback);
  if (!SMF.load("SONG00.MID"))
  {
    Serial.println("FAILED TO LOAD SONG00.MID");
    while (1);
  }
  Serial.println("PLAYING SONG00.MID");
}

void loop()
{
  if (!SMF.isEOF())
  {
    SMF.getNextEvent();
  }
  else
  {
    Serial.println("DONE");
    while (1);
  }
}

Not sure about your code, but I found this code

https://github.com/tigoe/SoundExamples/tree/main/VS1053_examples

that you may feel free to check...

There are also some comments on the wiring in the library.

Good luck!