I have the same issue in my phaser react example
If the buttons where in phaser too, you could simply use this.input.setTopOnly(true)
.
In my example I use a popup. I could solve it either by stealing the pointer events or disable the inputs in phaser completely while the popup is shown. But, since your buttons are always visible, both of these solutions would not work.
I hope we find a suitable solution here.