The issue
Sculk veins only have a single block state, multi_face_direction_bits, which is basically a glorified damage value, merging all of the properties of the block into a single value which pretty much defeats the purpose of block states. Consequences of this include:
It's unnecessarily difficult to place a sculk vein in the configuration you want with commands
It's impossible to detect a sculk vein in a specific direction, since you have to specify the entire bit field
Java disparity
Java does this with six different true/false block states, one for each direction.
How to reproduce
/setblock ~ ~ ~ sculk_vein["north"=true,"east"=true]
→ ❌ Error
Expected result
Sculk vein is placed with sides on the north and east faces of the block.
Notes:
Relates to MCPE-123175.
Can confirm, affects 1.21.41.