No
Addresses starting with 3 are P2SH, but they are not always segwit.
Look at the bold part of achow101 post which you suggested to read.
So ive always had my bitcoin in my hardware wallet. Now there are 2 options: Legacy and Segwit. Whats the actual difference ?
Legacy means that you will be using addresses of the form 1... Segwit means that you will be using addresses of the form 3... or bc1... (one is for P2SH nested segwit and the other is for native segwit).
Note that 3... addresses are for P2SH addresses in general and are not just for segwit. bc1... addresses are for segwit specifically but not all wallets support it yet.
And following post made by o_e_l_e_o
Addresses which begin with 3 may or may not be SegWit, and may or may not be multi-sig. It all depends on how you set it up. Electrum does not create SegWit addresses beginning with 3 though - it will only let you import them. So if you created your 3 addresses in Electrum, which it very much sounds like you did, then it will be multi-sig legacy rather than SegWit or multi-sig SegWit.
But anyway, I was wondering if I purchase something using my legacy address, how to redirect the UTXO from that address to my bech32 address/wallet. Same with my p2sh-segwit address.
When you send your bitcoins, Electrum automatically send the remaining balance to your change address. As your change address is not a bc1 address, the best thing you can do is to enable "Pay to many" and send the remaining to your bc1 address manually, so there is no remaining bitcoin.
Assume that you are going to send 0.01 BTC to an address while your balance is 0.02 BTC
Send 0.01 to that address and
send 0.01 minus transaction fee to your bc1 address.
(A better solution for sending the remaining balance suggested by o_e_l_e_o in the next post)