So I invested a few hours into some rigorous testing and I must say the results are weird.
Setup: iMac 27" 2019, 3 Ghz i5, 10.14.6, Logic Pro X 10.5.1
brown DX7, connected via MIDI to the 828x; MIDI loopback from DX7 THRU to 828x
(DX7 has hardware MIDI THRU)
The setup for all tests was as follows:
one MIDI track with manually entered notes
MIDI connection from the MotU 828x to the DX7 MIDI IN
MIDI connection from the DX7 MIDI THRU to the MotU 828x
Audio connection from DX7 to MotU 828x
project rate was 44.1
tempo for all tests was 120
This setup allows for comparatively precise measurements: The DX7 has a hardware MIDI THRU so the MIDI signal is coming back immediately without any processing. This gives us a clean timing reference both in relation to the internal clock and also to the sound sent from the DX (because the sound can never come before the MIDI data).
buffer 1024: MIDI is spot on, Audio is about 40 ticks early
buffer 512: MIDI is spot on, Audio is about 18 ticks early
buffer 256: MIDI is spot on, Audio is about 4 ticks early
buffer 128: MIDI is spot on, Audio is about 2 ticks late
buffer 64: MIDI is spot on, Audio is about 3 ticks late
buffer 32: MIDI is spot on, Audio is about 6 ticks late
My preliminary conclusion is that Logic overcompensates massively the larger the buffer gets. The "sweet spot" seems to be around 128 to 64 samples buffer size; I would expect a small latency inside the DX7 as well so maybe the 32 samples buffer is closer to the real situation. This could only be measured by an oscilloscope (to check how long the DX takes to react to MIDI).
MIDI in this setup was rock solid; maximum deviation for the loopback was 1 tick for all cases.
I've calculated a "recording delay" of around 917 samples for the 1024 samples buffer size. This worked well for 60, 120, 240 BPM, with higher tempos (360, 480 BPM) things started to fall apart (significant MIDI jitter up to 15 ticks, Audio early up to 100 ticks!). No idea what happens with material that has rapid runs and so on.
Since I was interested what happens with other programs I also checked with Ableton Live 10, no driver error compensation.
buffer 1024: MIDI is 6x 1/256 late, Audio is 7x 1/256 late
buffer 512: MIDI is 3x 1/256 late, Audio is 4x 1/256 late
buffer 256: MIDI is less than 2x 1/256 late, Audio is less than 3x 1/256 late
buffer 128: MIDI is 1x 1/256 late, Audio is less than 2x 1/256 late
buffer 64: MIDI is less than 1x 1/256 late, Audio is more than 1x 1/256 late
buffer 32: MIDI is less than 1x 1/256 late, Audio is slightly more than 1x 1/256 late
Preliminary conclusions: For all buffer settings in Ableton Live the audio data arrived slightly after the loopback MIDI. The timing difference between MIDI and audio stays constant. The latency for large buffer sizes is quite high; and I'm somewhat surprised that it seems to affect MIDI and audio in an equal way.
I have no idea if the delay mostly occurs on the sending or receiving side - or perhaps on both. It's somewhat difficult to make precise measurements in Ableton Live because the exact location of events isn't displayed. So pocket calculator to the rescue: What's the length of one 1/256 at tempo 120?
1/4: 500 ms
1/8: 250 ms
1/16: 125 ms
1/32: 62.5 ms
1/64: 31.25 ms
1/128: 15.625 ms
1/256: 7.8125 ms.
So the latency at a buffer size of 1024 is around 47 ms for MIDI and 55 ms for audio.
A test for driver error resulted in a 2.8 ms error. Tests with the appropriate offset didn't show much difference which doesn't come as much of a surprise to me: The error is quite small and won't make much of a difference for larger buffer sizes anyway. For smaller buffer sizes there was a slight improvement.
And last but not least: Cubase 10.5
I did not run detailed tests here, mostly because I'm not familiar enough with it. A small test with a buffer size of 1024 seemed to look similar to Ableton Live. I was somewhat irritated that the list view for the MIDI data showed me notes that were completely on spot - but the arrangement view clearly showed the notes being late... Perhaps I just overlooked some setting.
Anyway, that's all for now. I would be interested if those things could be reproduced. The overcompensation situation looks like a possible bug to me.