MIDI is done with quite a lot to spare. In fact MIDI can work on swSerial, though not quite as reliably as on hwSerial.
What i forgot to mention before is that by adding the delay(5); into the code, you have introduced a total of 30 (35) milliseconds of latency for which there should be no need.
Though it may seem a tad complex to program, you should be able to send 5 clock-sync more or less equally spaced and ready for the final clock-sync at the correct time.
Of course just reducing the delay() to just a delay(1); may also help a lot already. The actual time to transmit the byte is about 300us. Theoretically the delay() should not be required at all, but that does depend a bit on processing at the receiving end and whether 'clock-sync can be that close together.