Arduinos are known for their crappy system oscillator accuracy - many of the older ones don't even have a crystal but use a ceramic resonator, and some use the internal oscillator, which is barely good enough to meet the lax requirements for baud rate accuracy for serial comms.
Given an appropriate clean and stable clock source, MCUs and FPGAs will have very similar timing accuracy and stability. PLLing up an external clock to get a faster system clock uses similar silicon no matter whether its on a MCU die or a FPGA die, and the I/O drivers are remarkably similar.
Grab any MCU you are familiar with and have the toolchain for that's fast enough that one cycle of it's max. I/O clock is fine enough granularity for your delay adjustment, clock it with a *GOOD* clock signal e.g. 10MHz from a GPSDO and if your code is correctly written, and the input clock signal is within spec. the output edge timing will be accurate to a small fraction of the input clock signal with the extra timing drift and jitter it contributes an order of magnitude smaller.