I just recently discovered that in the new OpenGL canvas this should all be possible. Setting the grid origin to a pad center has always been easy. Select the track tool, which then magnetically snaps to your pad, hit ‘s’ to set the origin. And now, in the new canvas, hover over a pad while hitting ‘m’ and you should be able to pick the footprint up by the pad!
Actually another new thing is that the magnetic pads work while moving components as well. So you can even snap to the pad and hit ‘s’ while moving to set the origin.