Note: while the process worked well for me, this post is not meant to be a tutorial, but rather a personal journal documenting the steps I took. Follow at your own risk!
There are plenty of tools for carbon-copying a full linux install to another drive, but this requires that the target drive be larger than the source drive. What happens when you want to migrate to a smaller drive? In my case, I had plenty of free space on my source HDD, so the smaller size of the SDD wasn’t an issue, and I wanted speed. Linux is pretty resilient, so the cp command and some grub magic is all you need to migrate your installation to a new disk.