It isn't. It is 1 virtual MB for either. Segwit just gets a 4x discount. Put another way, its 4MBs for either, but inputs and outputs (transactions minus their signatures) are 4 times more expensive.
1 byte written to segwit space is 1 virtual byte.
1 byte written to the input output space is 4 virtual bytes.
This decision is said to be made because post-segwit the witness data doesnt go into the UTXOset and can get pruned. so long-term it’s literally cheaper for node operators. On top of that, we want people to be able to do things like complex scripts for lightning, multisig, other contracting. So if those things are now cheaper for nodes, reflect that in the fees.
Here's a resource: https://learnmeabitcoin.com/technical/transaction-weight