Thanks! I guess with a high-dpi screen the coordinates are halved, right?
If you double that gui pos, you get: 409.5, 638.5
Which is exactly the +0.5 X and -0.5 Y from screen pos that I have.
It’s really mind-boggling that I haven’t noticed this before. I thought I’d done the conversion between them dozens of times. I guess I usually only use screen coordinates outside of GUI because they don’t get stretched.
Keep in mind though, that this is my first time looking at Defold source code, so I may be completely wrong I also don’t have the knowledge to build and test the engine, so I can’t confirm the proposed fix actually works.