Robert,
the way you do it you get the coordinates of the graphics - and not of GeoGraphics
. You have to do a proper rescaling, and furthermore equidistant geo coordinates are necessary. I would do it like so:
gbbox = GeoBoundingBox[Entity["Country", "Canada"]];
{latrng, longrng} = Transpose[First /@ gbbox];
geopos[{x_, y_}] := GeoPosition[{Rescale[y, {0, 1}, latrng], Rescale[x, {0, 1}, longrng]}];
geopos[None] = {};
{GeoGraphics[GeoRange -> gbbox, ImageSize -> Large, GeoRangePadding -> None,
GeoGridLines -> Automatic, GeoProjection -> "CylindricalEquidistant"],
Dynamic@GeoIdentify["Country", geopos[MousePosition["GraphicsScaled"]]]}
This should work, it identifies Canada, United States, Greenland; but there is a certain time delay.