Thanks for all those info, really useful.
So to sum up, a common P2PKH transaction with 1 input and 2 outputs w.r.t the hashes and signature needs the following:
Input ECDSA signature: ~70 bytes (64 in taproot)
Input ECDSA public key: 33 bytes
For each output hash: 20 bytes