Subsurf + crease issue

When I add a crease there to get my desired shape, it doesn’t squish the rim polygons like it should.
Ideally, it should do something like this

Is there any way to do this without applying the modifier and manually editing the shape?

You need to add crease there too :

(on both sides of the model of course)

There is really two main ways to control edge geometry with Subsurface modifier; use Crease or Loop cuts. I go with loop cuts, and this is how it looks: