Fantastic stuff! Area51-worthy work, so this thread is now visible in Area51.
In theory, you could transmit the VSYNC signal using a PC app over USB cable and use heavy filtering to slew the VSYNC signal in a lag compensated manner (with phase adjustment feature).
The jitter can be filtered out.
Teesny 4.0 supports 8000 Hz micropolling (0.125us) which is accurate enough for VSYNC monitoring to as resident system tray PC app (raised task priority + raised thread priority) if you make a tweak and you can timestamp the PC-side VSYNC signal.
You may be aware of my Terarline Jedi experiments where I used Windows API D3DKMTGetScanLine() which works at all times (because it works off the desktop handle of the primary monitor), it can tell you enter/exit VBlank status and there's a waitable call (one of those D3DKMT... calls) too, that you can run in a high priority process + high priority thread for precision. It would use almost no CPU but give a mostly jitter-free tick tock that can be processed / dejittered / timestamped / data transmitted to your Arduino (like strobe frequency and strobe phase)
You would need heavy filtering though and about a 1-second to sync to a new Hz, and ignore skipped signals.
In Arduino, you simply autosync on a fixed microsecond-exact interval, but use the received data over USB to slowly slew the phase back to the correct location. As long as phase slews only slowly, it won't be noticeable -- a 1% slow slew in phase is a 1% slow upward/downward shifts in strobe crosstalk which is not noticeable, so you can simply keep flywheeling in the Arduino and use the USB-transmitted VSYNC information as a guide to slew the VSYNC tick tock back into the approximate region again.
Both myself and ad8e have written VSYNC monitoring + filtering code (jitter filtering + missed VSYNC filtering) that uses a software equivalent of a flywheel to compute a microsecond accurate exact Hz tick-tock from a series of jittery VSYNC timestamps even with 10% missing timestamps. It takes about 1 second to get results accurate enough for strobing, so should be fast enough for your needs.
You will need a phase adjustment, to compensate for the latency, but you probably already have one -- as a strobe phase adjustment (like Blur Busters Strobe Utility's Crosstalk adjustment) -- which will suit this purpose just fine. You will need to readjust every refresh rate or every Vertical Total change.
You're doing something that helped start-off Blur Busters almost a decade ago in an Arduino scanning backlight
