I just had to solve this problem myself. I did some back-of-the-envelope calculations and decided a Pi was just too slow to count pulses this fast AND do all the other work I wanted it to do. So I created a small printed-circuit board with the MCP23017 connected to a SN74LV8154 dual counter after searching fruitlessly for a Pi HAT that included a counter. The counter counts the pulses, the MCP23017 interfaces the parallel outputs of the counter to the I2C bus, and I modified the Rexygen-supplied MCP23017 driver to return the count values and multiply them by calibration constants. Another possibility would be to use a separate microcontroller like the STM32 to count the pulses and return the sum by I2C, but I didn't want to learn the entire software environment of the microcontroller just for that one task.
This solution is working very well, however it required electrical engineering knowledge and learning a PC board design tool (kicad).
If you only care about flow rate, another option is to build a RC filter circuit to transform the pulses into a voltage, and use a ADC card to read in the voltage. This doesn't work well for total fluid volume calculations because again, the Pi would be required to integrate the voltages at a high speed.