When you pin an object to another one, the pinned object uses its current position relative to that object as its base position. You can move the pinned object to anywhere on that receiving object that you'd like, but once you pin it, it'll stay in the same relative position to that object, just duplicating the receiving object's change in position and angle, but not its actual position and angle.
So, first move the object to exactly where you want it to be, then pin it. If you want it to move to an image point on that object, then move it to an image point.
If the receiving object is animated in such a way that this image point moves or otherwise changes, then the pin behaviour is not suitable. In such a case you should rather use every tick -> set position to object, and specify the image point in the action.