I see nothing obviously wrong with your code. Just one thing to check: are you sure your line
Sprite newSkinSprite = Sprite.Create(design.GetDesignImage(), new Rect(0, 0, 128, 256), new Vector2(0.5f, 0.5f));
produces the desired result Sprite region?
If the Sprite is as desired, could you please send us a minimal Unity project that still shows the problem, as a zip package to contact@esotericsoftware.com. Then we can have a look at it.