I guess long before that, the fee will rise to a level that is enough to maintain the incentive of miners, maybe 1 bitcoin per block forever. It can be that every 4 years, the fee doubles to compensate the loss in block reward, at the same time the number of transactions per block might also doubled to keep the fee per transaction roughtly the same level
But if this happened, bitcoin will either crash, because the TX fee is so high, or bitcoin will become very very cheap to compensate for the TX fee.
After further thoughts, this is a complex topic, involving several variables
At each reward halving, to keep the miners running with same incentive, either the bitcoin price need to double or the fee income per block would compensate for the loss of the block reward
Currently the fee income per block is around 0.5 bitcoin, very little comparing with the block reward. So the only thing works is to raise the bitcoin price by 100%, otherwise miners will shutdown their operation due to unable to profit, resulting in weak security
After a couple of halving, 12.5, 6.25, 3.125, 1.5625, 0.78125, 0.390625, the block reward will become less than the fee per block today. I think that price doubles every 4 years are still guaranteed, so the incentive holds
However the development of fee per block is different, this is decided by the cpu/network capacity increase and possible other scaling solutions
In general, there is an extra delay when including one transaction, and that delay will increase the risk of a block being orphaned thus lose the whole block reward altogether. If you include 2000 transactions today (1MB block), that will add up to 1 minute delay when broadcasting to the whole network, which is about 5% risk of being orphaned (not precisely calculated from poisson distribution, just an example, 10 minutes delay means the block will be orphaned half of the time), so 5%x25btc=1.25 btc is the cost of 1MB, divided by 2000 transactions, you get 0.000625 btc fee per transaction, which is a fee that is accepted by all the miners today, which means the real cost is lower today
If the cpu/network speed doubles at next reward halving, then each block can include double amount of transaction at the same opportunity cost today, e.g. 4000 transactions for 5% risk of being orphaned. However, the block reward is 12.5 coins by then, 5%x12.5btc=0.625 btc is the cost of 2MB, divided by 4000 transactions, that is 0.00015625 fee per transaction
So the fee will be cut to 1/4 at next reward halving, if bitcoin price doubled, then it means the fee is getting 1/2 cheaper for end user. If bitcoin price quadrupled, then the fee costs the same as today
Following this route, when block reward is cut by half, the fee per block will also cut by half, with double amount of transaction capacity, resulting in 1/4 of the btc fee per transaction. If bitcoin's value x4 every 4 years, then the fee per transaction will stay at current level. If bitcoin's value X8 every 4 years, the fee will double each time, still manageable for decades. It seems that the fee per block will stay small relative to block reward in foreseeable future
And this is the case that you directly use blockchain to do transaction, if you use clearing based solutions then the fee can be 0 for end user, and the real traffic on blockchain might grow much slower