In this kind of cases, it is due to the fact that the object you are moving is not the weasel but its collision box.
That's where the offset is coming from, pin actually do the positioning of the object after the events are read.
To fix, the best would be to actually position the tail depending on an imagepoint on the collision box itself, not the animation/weasel.
Or to have the weasel moving/being positioned manually every tick like the tail is.