The raw size of segwit transactions isn't smaller right? The difference between a bech32 and a P2PKH is the way that the non witness portion of the script is calculated in terms of vbyte?
Correct. In fact, depending on the number of inputs and outputs, the raw size of a P2WPKH (SegWit) transaction may actually be larger than an equivalent P2PKH (Legacy) transaction. The raw size of a P2SH-P2WPKH transaction (nested SegWit) will be significantly larger than an equivalent Legacy transaction. As you say, the reason SegWit transactions are cheaper is due to how the raw bytes are calculated in terms of weight units, not because they are physically smaller.
If it doesn't decrease the raw transaction size, this makes segwit effectively a block size increase as well right? Just one that does not need a hard fork to achieve.
Essentially, yes. After SegWit, the limit on block size effectively changed from 1 megabyte to 4 million weight units. The majority of blocks (when the mempool isn't empty) currently have a raw size in the region of 1.3 MB, but the largest block to date - 625861 - had a raw size of 2.4 MB.