Wasserfluss per ISR ermitteln > Loopdauer

Richtig. in der (möglichst kurzen) noInterrupts - Phase läuft der loop-Thread wie ein Interrupt-Thread, kommt sich also mit der ISR, die deine Pulse zählt, nicht ins Gehege. Wenn in dieser Zeit ein weiterer Interrupt kommt, wird er erst hinterher gezählt, geht aber nicht verloren (wie es mit detachInterrupt der Fall wäre).
Ob ESP verschiedene Interrupt-Prioritäten kennt, weiß ich nicht. Arduino und avr-Controller kennen das nicht.

Dass ein ESP kein avr-Controller ist, ist klar. Dank ESP core geht die simple Arduino-Programmierung sogar mit einem versteckten freeRTOS im Hintergrund. Wenn man nicht zu großen Unsinn in loop() macht.