According to several forum, Wire library require interrupt itself while any further interrupt is disabled during ISR call , so this example cannot work .
Only way to make working should be moving outside wire.read() function inside a proper function registered on Wire.onReceive call ( that i'm pretty sure get called from a proper interrupt ).
will make some test
Hopefully, you will find the solution. Honestly, I have no time to dig further. Good luck.