why Bitcoin Core's fee estimation is so garbage
Because nobody cares, and there are so many users of block explorers, that it remained unfixed.
Also, that's why in Open Source, people work on things they need or they like, not necessarily on the things, which are needed by the rest of the community. And because developers don't need it, and users switched to Electrum anyway, there is no pressure to fix it any time soon.
and forcing its users store their wallets digitally
Well, I wrote my WIFs on a piece of paper. And did the same later with descriptors. Because you never know, when your hardware would crash, and it is a good option, to recover things, if something goes wrong.
No, you don't have to wait 2 hours, just 20 minutes.
If you want to disconnect anyway, then it is even simpler: you can invalidate some recent blocks with "invalidateblock", mine something by yourself, and then reconsider these blocks later with "reconsiderblock", when you will want to connect again with the rest of the network.
That's only if you hack and recompile Bitcoin Core, right?
If you recompile the code, then you can easily change 2 hours rule into 20 hours rule. But if you don't, then invalidating some recent blocks is enough, and for that, no recompiling is needed.
What am I missing here?
If you are connected with the rest of the network, then your chain is probably not the strongest one.
If your node's chain's work is less than that, other nodes will ignore it.
Which is why using regtest, or a custom signet is simpler, if you want to build your own chain from scratch.
I can forget about that on a CPU, so I give up on "Testnet4 LoyceVork".
Then use custom signet, if you want CPU mining. Or regtest, if you want paper-and-pencil mining. By the way: your node won't fetch these data by default, however, if you push it manually through "submitblock", then it should work, even if you will try mining on top of mainnet from 2009.