I also read a few online articles saying that you can reverse an transactions if its still in a mempool by using the same input, paying a higher fee and changing the output to yourself. [...] I know you can do it with a mining attack but I'm talking more about the "legit" way.
If your transaction is marked as
replaceable and is unconfirmed, you can double-spend it. Some wallets allow to do that easily. For example, in Electrum, you can right-click on a transaction and select "Cancel tx" if you are running the latest version. Next, Electrum will create a transaction spending the same inputs to one of your addresses with a higher fee automatically. As for the Bitcoin Core, I think that you need to use
zapwallettxes=1 parameter at startup before you will be able to create a conflicting transaction.