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.
You got the correct answer on the first reply by OmegaStarScream. The only way to redirect your change to a different wallet is to use the "Pay to many" feature.
In your legacy wallet, open the "Send" tab, and then click on Tools -> Pay to many
In the "Pay to" box, enter the address you want to pay, followed by a comma and a space, and then the amount you want to pay
In a new line, enter the address of your Bech32 wallet you want to the change to be sent to, followed by a comma, a space, and then an exclamation mark (!) - the exclamantion mark means "send all remaining funds"
Adjust the fee as you like and hit send
Your "Pay to" box might look something like this:
1addressforpurchase, 0.1
bc1yourbech32address, !