I dug out my supply of TP4056 modules, and found that when there is no battery present, the charging LED flashes, and the fully-charged LED is on solid. I suspect that behavior may vary from one manufacturer to another.
I have never tried it, but my suspicion is that if the battery discharges to the point that the protection circuit kicks in, it would behave like no battery present. That's because the protection circuit disconnects the negative battery terminal from the circuit ground. But I've never tested it.
My memory from trying to get the TP4056 to work with solar panels is that at certain intermediate voltages both LEDs may light up solid. But that should not happen if you are charging from 5V USB power.
What if you just measure the battery voltage on an ESP32 analog pin through a resistive divider, and show that number on the display. Then the user could draw his own conclusions about the state of the battery. Of course the divider would draw current, which is not ideal.