I've done some more measurements on Windows 7 to exclude any issues Win10 might have caused. I'm giving you the amount of vblanks the crt passes between the keyboard event and the screen update.
The reason of having throttle enabled in GM is that the frame_delay relies on it, but it still does sync the game to the refresh rate. MAME needs to have it disabled otherwise it stutters. GM also incorporates the input polling patch which fixing another 1 frame of latency added by mame after recent input routine changes.
So in original mame the difference is 1 frame between d3d and bgfx. I was comparing Mame BGFx to GroovyMAME BGFX (which is unchanged) in my previous tests.
Anyway the lag is horendous, 6 vblanks is 100ms. When you play on GM for a while with 1 frame of latency and then switch to Mame, it's unplayable.