You can look at useHeldItem and startBreakBlock for both left and right clicks. I would be careful with that, as that affects every other plugin that handles PlayerInteractEvent. dktapps mentioned working on a way to work around this without using timestamps, like I mentioned using, as it could have it's faults. When or how it'll be implemented, I don't know.
So it would be better to not work on a fix, right? Since that will make a production server unstable, I can't risk it. I will use the item held event and add a slapper for the soul well.
override handleInventoryTransaction() and handlePlayerAction() in Player.php Look example how it's done here https://github.com/Muqsit/BedrockFix/pull/2