Personally, I haven't tried this but the steps seems legit. But I think I would try it before doing it on a production VM. And ALWAYS create a backup.
I did it and it worked very well and fast too :-)
One thing, after changing the file descriptor the migration process checks the target storage and wont cintinue if it doensn't mtach the original size of the vmdk (before shrinking).
That was a difference to my test lab which migrated the vmdk to a smaller target storage than the original vmdk was. Don't know why.