> There are also some EC2 instance classes where upgrading instance types in the same "size" are more expensive
An increase in price has been the rule rather than the exception for recent upgrades for vanilla instance types, e.g., c, r, m types in the newest generations (6 -> 7 for x86, 6 -> 7, or -> 8 for Arm types).
The increases have been modest though, perhaps around 10%. You get additional CPU and sometimes minor increases in other resources on the newer types.