In summary, I want to clone the OS partition from the HDD to the SSD but also the MBR so it will boot.
If boot partition is from the beginning of the disk you have two possibilities.
One is to clone from the beginning so much that the whole partition is cloned and then clean the rest away.
Other is to first create an empty bootable partition and then clone its content.
ddrescue can do both, cloning from the beginning is probably the easier way.
--size is a self explaining option.
Linux limitations of mangling NTFS partition should be history, but maybe not.
Windows is also picky, but should start its fixes automatically.
Seems that I can't actually remember how XP drops to console mode.
That's possibly needed, being the last resort.
Doing ddrescue with partitions is also very simple, just add those numbers after device names.
Target partition can be bigger, LBA access mode is dynamic, absolute location of blocks is not relevant.
I guess all Linux desktops have some sort of a graphical device manager/viewer with a simple drive list.
You can also create that empty partition using Windows and then change the operating system for cloning.
lshw -class disk -short
lsblk -t