Could you provide any Script, that cannot be converted into TapScript, and committed to some public key?
A Taproot output requires a witness program to unlock. If we're talking about serializing existing spent outputs (historical data), converting them into P2TR would make their spending transactions invalid, as most of them weren't (and couldn't be) unlocked using a TapScript witness. You can't change the scriptSigs on the inputs either (or convert them into witnesses), since you don't have the private keys used to sign them. So by doing that, you would make it impossible to verify the integrity of the blockchain.I know that they were. But note that P2PKH could be wrapped into P2PK, if needed. And the same with every other Script. Your question was "if Bitcoin was invented today", and not "if Bitcoin was released with two standard address types". Because if I would want to release some new altcoin today, then I probably wouldn't add "pubkeys behind hashes", but everything would be committed to the public key instead, similar to how P2TR works (but probably with prefixes like 02 and 03 for all public keys, including signature R-values).
Oh, I see what you mean now. If P2PKH used Schnorr signatures to begin with, it would be possible to preserve the uniform output format and just add new types of scriptSig/witness later. Sure, this might be a better option. You would still have to discern between the different input types, same way Taproot uses different validation algorithms depending on witness length. This basically moves the enum into the input, so until an output is spent, an external observer wouldn't know what kind of transaction it is, or whether it is even spendable.2. Changing fees does not require touching consensus rules, so it is possible to lower fees, without touching the block size limit.
The fees depend on how many transactions can fit inside the block. If we could make transactions smaller, it would automatically lower the fees (given constant demand). Same way SegWit did.