I always do the same never use the SWAP function in Ledger, Trezor or Exodus, they charge a lot which you can do for a fraction with a little more work by doing it like you said, send the money to kraken or binance, do the exchange there and get the coins back to your wallet.