The problem is that it uses GetCursorPosition, but does not account for frame scale. if you override the handler it may work.
Lua Code:
WorldMapFrame.ScrollContainer.GetCursorPosition = function(f)
local x,y = MapCanvasScrollControllerMixin.GetCursorPosition(f);
local s = WorldMapFrame:GetScale();
return x/s, y/s;
end