The selection framebuffer can be very small which leads to different pixel density than the regular viewport. Under this circumstance, gl_PointSize is a multiplier of the viewport size in terms of selection radius. Make sure `gl_PointSize` is set to 1 for selection.