ESP32 logic HIGH/LOW level voltage, not working?
The spec says that the input is guaranteed to be read as a Low below 0.25 Vdd, and as a High above 0.75 Vdd.  

It does not specify where the actual switching threshold is - from the spec, we only know that the switching threshold is somewhere between 0.25 Vdd and 0.75 Vdd.  The actual threshold may vary between parts or between pins on a given part.  Possibly, the switching threshold will be higher for a Low to High transition, than for a High to Low transistion.