There is a (severely under documented) setting in the audio system page called “record shift” which you can use in case your asio driver somehow reports incorrect values to Cubase. To verify that this is the problem you’re dealing with, the suggestion from @mlib is exactly the way to find out. Record the metronome (or even better: a rendered audio event of that) with a microphone. If there is a consistent shift, it could be the ASIO driver, and you could compensate for that by setting the difference value in the “record shift”.
I found a very old thread of someone having exactly that problem: "Reverse" Latency when recording audio in Cubase - #9 by akhileshrao