The bug
Once the "LifeTicks" of the vex have passed and it dies it won't drop it's items. I am not sure if this intended since it doesn't count as being killed however since it's default drop values are 0 this might not be the case.
How to reproduce
First encounter:
give @s minecraft:ender_dragon_spawn_egg[minecraft:entity_data={id:"minecraft:vex",LifeTicks:1,Health:1f,HandItems:[{id:"minecraft:netherite_sword",Count:1b},{}],HandDropChances:[1.0f,0.0f]}]
When removing the "LifeTicks" and just hitting it seems to work fine
give @s minecraft:ender_dragon_spawn_egg[minecraft:entity_data={id:"minecraft:vex",Health:1f,HandItems:[{id:"minecraft:netherite_sword",Count:1b},{}],HandDropChances:[1.0f,0.0f]}]
Drop chances less than 2.0 only apply when killed by a player. To guarantee drops even when not killed by a player, use 2.0. I can verify this works when lifeticks expires