Just a quick update on this..2 years old entry!
As I had issues with this and found a way thought I'll share it, so basically after packing with Pivot set to "Centroid" add a wrangle
vector pivotOffset= chv("PivotOffset");
vector pivotCentroid = primintrinsic(0, "pivot", @ptnum);
vector newPivot = pivotCentroid + pivotOffset;
setprimintrinsic(0, "pivot", @ptnum, newPivot);
@P += pivotOffset;
Just one another way