I don't think you need to cancel...
To test I've got the £1 upgrade offer I checked in my Xbox Win10 app - click the Xbox button (top left) then "My Subscription" in the middle of the page, then scroll down and there's an "upgrade" button with a £1.00 cost. Small print on that page also mentions converting up to 36 months. So, I think we're good to go...
So, went to
https://account.microsoft.com/services/ and I'm midway through a £1 trial month for PC Game Pass, so turned off recurring billing (didn't cancel).
Bought 12 month Xbox Live game codes from CD Keys. (personally didn't get the Brazil ones, as I'm happy to exploit M$'s offer, but personally think it's a little fraudulent to claim via Brazil VPN). I entered 1 code through the XBox App and it worked fine, then the other via the account page linked above. I only bought 2 years worth, so clicked enable recurring billing to get an extra month free each time (need to remember to have it disabled to start with and then disable again after the 1st, to get it again...) so, now my account page says I have Xbox Gold to Nov 2022.
So, now I click on Upgrade on the account website and paid £1 (checked in Paypal).
Now, here's where it gets weird... I've just refreshed the account page and it now says Xbox Game Pass Unlimited with the next charge being Jan 2023?!?!? So, I'm confused how it's jumped my next membership renewal from Nov 2022 to Jan 2023 - I guess it's the remaining time on my PC Game Pass added on?!? - but I'll take it
TLDR - (check you have the £1 offer on your account). No need to cancel PC sub, just whack in the codes either through Xbox app or website, then Upgrade on the website...