If I make an image of the card (using DD), is there an easy way to write this to the SSD and boot from there? I'm familiar with Etcher etc, but I have a hunch that SD to SSD is not so straightforward.
If your bootloader is up to date, then yes, that would be possible. The problem is
SD card is 512gb, SSD drive is 500gb.
the sdcard image will be larger than the SSD's capacity and it will not fit. You may try and shrink the backed-up sdcard image with PiShrink first, before writing it to the SSD.