you should make sure you only change your characters transformations using the puppet nulls and not the shape which is what probably is happening. you should not change any of the transformations of the shape layer when using puppet pin. it’s a render order thing. shape layers are collapsed by default and this means the render order is in reverse that usual. first the transformations, then the puppet. imagine you are scaling or moving a layer through a mesh of puppet – this is what happens. the way to solve it is not scale or move

what you should do is precomp the whole shape structure with the puppet animation (don’t use the collapse switch for the precomp) now you can move the whole thing if you want. or don’t convert to shapes and use the original Ai layers without turning the continuously rasterize switch.
this is from the help files: https://helpx.adobe.com/after-effects/using/animating-puppet-tools.html
Note: Don’t animate the position or scale of a continuously rasterized layer with layer transformations if you are also animating the layer with the Puppet tools. The render order for continuously rasterized layers—such as shape layers and text layers—is different from the render order for raster layers. You can precompose the shape layer and use the Puppet tools on the precomposition layer, or you can use the Puppet tools to transform the shapes within the layer. (See Render order and collapsing transformations and Continuously rasterize a layer containing vector graphics.)
Roei Tzoref
After Effects Artist & Instructor
♫ Ae Blues Tutorials