6 million sats is quite a large payment for the LN.
The cost of a LN payment scales with the size of the payment.
The cost of an onchain payment is independent of the size of the payment.
Hence, sending small payments tends to be cheaper on LN, and sending large payments tends to be cheaper on the main chain.
So, somewhere on the middle there is a dynamic frontier that splits which is the cheapest method. This depends on your node's connection, the state of the mempool and the general shape of the LN at any given time.
I would say that, with current context, the fee you paid for a 6 million LN payment was very reasonable.