/regardless of being charged for an update
That isn't how console development works. Games being "compatible" on the next-console actually means something in the console space for a QA experience on the user's hardware - unlike on PC where it is scalable, and so are any bugs that arise from open-ended specs that change over decades. How an old game works on pc config x or y is complete potluck, and if going back to old, old games from lucas art they may not work at all if using your original cd-rom copies that pre-date the development of dosbox or wrappers for glide3d(3dfx's graphics api).
In the Road to PS5 Cerny was able to give actual numbers of games that had been throughly "tested" and confirmed to work on the launch PS5 firnware - with more to follow from more testing and patching.
Despite the jaguar and zen2 chips of the ps4 and ps5 being x86_64, in the context of games passing console QA submission to become native ps5 apps, they aren't the same animal. Same with the ps4 custom gcn based amd gpu, the ps5 custom rdna2 gpu and low-level api are significantly different.
Oh....please... using the same argument, how does a modern console differ from a regular x86 PC? architecture wise, they're exactly the same.
Low-level APIs on the GPU? those are handled by the system drivers, not the games. In fact, PS4 and PS5 operating systems are both based on FreeBSD 9.0, which by design doesn't allow any app other than the kernel to have access to bare metal. Everything up from the kernel are calls to the kernel, not direct calls to hardware, so every single game can be optimised for PS5 without even touching the game's original source code.
For example: without touching absolutely anything in game's original source code, you can tell the kernel (via drivers config or profiles) that for "game x", anti-alias should be at x16 instead of x8, that anisotropic filtering must be at x32 instead of the original, that resolution should be 4K instead of 1080p, etc...
So... having that out of the way, what makes it "oh so special" about consoles that use the same PC parts, components and even operating systems?
Again, from a technical point of view, there is no difference whatsoever. Trying to glorify an Xbox plastic box or a PlayStation plastic box thinking that they're "special", and as such, they're "vastly different" than their predecessors, it's just silly and falls right within corporate BS that Sony and Microsoft are pushing.
I suppose you don't know that the PlayStation graphics API actually exposes some low level functions of the GPU, which makes that code bound to that specific GPU architecture.
That's the entire reason why there's an emulation layer of PS4 HW instructions on the PS5. You can't just git pull the PS4 code of a game and run it as a native PS5 application. Things are quite a bit more complex than you think.
PS4 "emulation layer"...give me a break, will ya? There's no emulation whatsoever, since the binaries are exactly the same, the OS is exactly the same and every "low level functions of the GPU" are handled by the drivers at kernel level, NOT at userland level (games), so there are simply driver and kernel calls that the corresponding driver routes to bare metal.
Generations ceased to exist the moment both Sony and Microsoft entered the x86 world. If PS5 or Xbox Series would've had a radically different architecture (say... RISC 5 CPUs or ARM CPUs with nVidia GPUs), then the "next-gen upgrade fee" would be absolutely justified. Otherwise it isn't.