While technically true, if you’re kiting, you are, by definition, stopping to attack. Every time you stop, the ultra gets much closer, and even with the speed nerf, off creep, you’re not actually outpacing the ultra, you’re only keeping pace with it (if you’re running away and stimmed) until they’re on top of you. This also doesn’t consider the presence of zerglings which are inherently faster units. In practice, it’s far harder to pull off than in a vacuum.
While a strange comparison for me to make, the comparison was 0/0 immortals vs 3/3 ultras, which was the worst case scenario for a protoss player (generally this would basically only be for players who rush carrier tech and forego ground upgrades).
Also, your math is wrong, specifically the way the armour is calculated. Remember, armour applies twice, so it would actually look like this at 3/3 vs 3/3:
65 (total damage vs armoured units) -(7 (armour) x2 (applied twice, because 2 attacks)) = 51.
Also, how are you doing your percentages - is there something I’m missing here? Because 54/65 is .83, or about 17%.

I do want to highlight this, like, why does Terran get to just do this? Zerg almost always pivots out of Roaches, Protoss play makes it feel like you need a few of most of your tech units, but Terran can keep a MMM based build and somehow be fine for way longer than anyone else despite two of those being their initial unlocks?
Because:
A) Upgrade differences between bio and mech mean you’re spending several minutes on just catching up on upgrades alone. Vehicle armour, for example takes 160 seconds for +1, 190 seconds for +2, and 220 seconds for +3, making a combined total of 570 seconds, or roughly 9 and a half minutes. Vehicle weapons aren’t quite as much, but the total upgrade time of that is just under 7 minutes.
B) Production time - Terran production isn’t front-loaded like warpgate, so you can’t drop 20+ of them instantly, and we don’t get chronoboost to speed up production of our longer units. Units like Tanks take 32 seconds per tank, and can’t be reactored. Thors take 43 seconds to produce, while BCs take 64 seconds to produce. A carrier with chronoboost takes about 43 seconds last I recall. I’d have to double check the math again though.
C) Production costs - Zerg gets to mass produce every unit they have in an instant, so you also have to keep producing units to prevent yourself from dying, rather than just hard tech-switching. Each production costs a not insignificant amount of gas and minerals, and you’re generally limited on bases, since it’s extremely hard to expand as Terran beyond your initial “quadrant” - if you’ve ever heard casters talk about how terran is constantly “stuck in their quadrant” this is what they mean - taking bases further and further away from your main is absurdly difficult (which is why planetaries exist in the first place).
Anyway, this results in an inordinate amount of time in which the Terran is spending significant chunks of money on units they don’t want, while trying to get out production for units that they do want, to then produce units that both produce slower than the units they’re already producing, and are at an upgrade deficit for multiple minutes at a time.
TLDR: Terran’s capability of tech-switching is by far the weakest and longest of the three races by a long way.

I think that if both are 3/3 it’s fine because that, directly, means there was enough time for the upgrades to go through. You had time to find out the Ultralisks were coming.
It’s rarely that simple in a game though, especially given how quickly ultras can both be made and how the tech can come out with very little notice. While it’s not three minutes, as Dank sarcastically suggested earlier, it’s still very quick - as I mentioned previously it’s not uncommon to have hive started by 7:30, which is extremely fast.