The crease custom data layer was added to a mutable version of the mesh, but that wasn't used in the rest of the operation. Also the layer wasn't retrieved properly with write access from the custom data API (fixed separately as part of D14140). Also clean up a bit by retrieving attributes from the mesh directly and by tweaking naming a bit.