As of 1.19.70.22, the property blockLocation in BeforeItemUseOnEvent is now a function. However, this new function is not functioning properly. It's supposed to return a Vector3 object but returns undefined instead. The other event, The same method in ItemUseOnEvent works fine though.
The code below ran in preview 1.19.70.22 if the player uses on the block, for instance, x: 1, y: 2, z: 3. should output:
[Scripting][warning]-hello, 1 2 3 getBlockLocation, item, source, blockFace, faceLocationX, faceLocationY, cancel
but instead outputs
[Scripting][warning]-hello, undefined undefined undefined getBlockLocation, item, source, blockFace, faceLocationX, faceLocationY, cancel
As you can see the method getBlockLocation is defined on the BeforeItemUseOnEvent class instance passed as a parameter in the event callback so the method always returns undefined.
new code and console output to further prove getBlockLocation is defined on the BeforeItemUseOnEvent instance.