I found an unexpected post-purchase screen after upgrading a site before launching it.
I was able to see this screen in two ways.
First, by following this path …
And then …
I expected to see a WPcom-branded screen like the following …

I saw this screen instead …

MacOS, Chrome.
This is the logic that's causing the thank-you card to show up instead of the usual thank-you page:
wasDotcomPlanPurchased and this.isNewUser() both return true. isNewUser() is checking for user accounts younger than 2 hours:
Removing the check for this.isNewUser() fixes the problem (it's been in production for ~2 years). After fixing it, I'm brought to this screen instead:

@aidvu I know it's been a while since this commit came through, but can you think of a reason we need to show a different thank-you page if a plan is purchased, there's no domain transfer, and the user account is less than 2 hours old?
If not, I'm going to suggest we remove the check for isNewUser()
👋 @sixhours
The reason is a few lines below: https://github.com/Automattic/wp-calypso/blob/34f6a35e6f96b8ed82ec349c15d4eee4c6263201/client/my-sites/checkout/checkout-thank-you/index.jsx#L427
We wanted to remind the users to start the domain transfer, as we didn't want to add more steps in the NUX flow.
cc @Automattic/cobalt
Aha, so could we send domain transfers folks through the "regular" flow and change the primary action in the regular flow to "Start Domain Transfer"? Something like this (really hasty, last-minute, entirely not pretty) mockup:

(I don't understand why we'd want to check for new user accounts OR domain transfers for those users, though; wouldn't you want to check for both?)
Does that sketch make "start your domain transfer" the primary action? In the flows above, where I was upgrading to add a plugin, or just picking a plan, I wasn't doing anything that would assume a domain transfer as a primary action.
I'll let @Automattic/cobalt team chime in on changes.
The transfer is only shown when a transfer is purchased in singup. The new user thing, no idea why.
Like Andrija said - the primary action to start the domain transfer should be showed after the checkout (and only when a delayed transfer-in was bought, of course - like during signup).
Definitely please feel free to make this consistent with other flows (consistency above all!), but as mentioned above, it's very important to nudge the user to start the transfer-in as soon as they finish checkout. FWIW, we also send them an email and show a nudge in the sidebar afterwards... but this post-checkout screen seems like the best and most intuitive place for it. The user just bought a transfer-in and the assumption is that they want to start the process (which can take a bit of time) ASAP.
Most helpful comment
I'll let @Automattic/cobalt team chime in on changes.
The transfer is only shown when a transfer is purchased in singup. The new user thing, no idea why.