You’re going to have to implement something akin to what the people in the Arduino-ESP32 already do to enable abitrary lambdas and members functions as interrupts functions – use std::function.
For their implementation, see the FunctionalInterrupt.* files and examples.
The base ISR function must be a static void function with no arguments, not a member function of the class. However, you can store the to be called function expression in a std::function and call into that object later, just like their implementation does.