What happens if transactions on-chain are replaced with off-chain transactions in ledgers? It reduces the available supply of coins and it also does not generate income for the miners. We know miners are not going to mine for free, so the on-chain transactions will not be able to confirm and the whole experiment will fail.

This seems a hugely exaggerated claim. Firstly, whenever I have paid for something in Bitcoin it has been through Bitpay, and this 'internal ledger' thing you're talking about seems to be made up. All I did was send Bitcoin to the address Bitpay gave me and Bitpay then has the option for the company of whether they want to keep the Bitcoin or convert it to its fiat value, providing stability for accepting Bitcoin payments.
Also, even in a scenario where what you're talking about became a reality, there wouldn't be a problem since most transactions are P2P or to and from exchanges rather than with merchants. That would create demand for space on the network and thus transaction fees.
Right now, the transaction fees being paid make up approximately 1/6th of the block reward - even in the very unlikely scenario that the sum of transaction fees paid to miners decreases over time, there would still be some transaction fees and miners would not be 'mining for free'. The amount of hashrate directed to the network would decrease and the difficulty adjustment within 2016 blocks would keep the reward appropriate.