I'm a mining noob and I can't understand why I can't throw off these stupid 20 minute block times.
Well, you can, but it is not done by default. In general, if you can see N CPU-mined blocks in a row, and no ASIC blocks in-between, then you can simply use a timestamp, which is not further than 20 minutes away from the last ASIC-mined block, and then your block will reorg the chain.
Also, some forks are discussed, to remove CPU-mined blocks entirely in testnet4 in the future:
https://groups.google.com/g/bitcoindev/c/iVLHJ1HWhoU