Moving to 10 should be free w/ a valid 7 or 8 key. I have done this w/ 3 different computers in the last month and it worked in all cases.
2 of these moves were computers that got new SSD's in but otherwise were the same (a laptop and a desktop). Didn't have any issues whatsoever. These keys were original to those computers when they were purchased.
1 had almost all new components (board, CPU, RAM, video, M.2 drive, etc.) - I re-used the 7 key from the machine it replaced. It asked "did you replace some hardware", to which I said yes, and then it ran along merrily. This key was one I bought from Newegg for about $100, came on a DVD "for OEM builders", something like a decade ago.
I've avoided the cheap keys, wondering if somehow MS would wise up and say "hey, that was for a Dell sold in India, what are you doing with it" kind of scenario. They do seem to work though.