If I create a new wallet, and send a segwit transaction there (for example, to claim forked coins), which wallet need to have a segwit address (starting with 3), the one which is sending the bitcoin, or the one which is receiving it?
It is irrelevant which address you are sending to.
If YOU are using a segwit address, your transactions will be lower in size (in comparison to sending from legacy).
I tried to send to another wallet with a segwit address, but the fee was even higher than to a normal address. The recipient was a segwit address, the sender was legacy. The normal address on the recipient was asking standard fees.
The fee is usually being set as a rate (e.g. sat/B). As long as you send the same transaction (same amount of inputs/outputs - your wallet may have changed that),
the transaction size sent
from a SegWit address will be lower than from a legacy address.
My current wallet holding bitcoins is from august 2017, before segwit locked in. Should I make another legacy wallet, send a legacy transaction there, and only then create a third wallet which would be segwit?
The easiest way of 'switching to SegWit' would be to simply send your whole balance to a (newly generated) SegWit wallet/address.
You don't have to first create another legacy wallet. That would just be an additional (unnecessary) transaction (incl. fees).
Just create a SegWit wallet and send your funds over. Depending on the amount of 'inputs' you have it might result in a pretty big TX (and high fees).
If you recieved a lot of small transactions, you might wait until the backlog of unconfirmed transactions has settled a bit (to not pay too much fees). [1]
[1] Currently 170k+ unconfirmed TX's (
blockchain.info/unconfirmed-transactions) - Fee estimation:
https://estimatefee.com/ and
https://bitcoinfees.earn.com/