This was an incredibly annoying issue to pin down - I’ve been figuratively bashing my head against a wall for well over two hours at this point wondering why the cursor I’m drawing on a terminal display wasn’t aligned with the actual cursor, thinking I’d messed up somehow.
I can’t just offset it by the GuiInset again, because it’ll just break in the opposite direction if or when this gets fixed, so my options are either to wait or to write my own function to compute the position of the cursor on the SurfaceGui.
Thanks for reporting this, you probably saved me a dozen hours more.