When using the damage command to inflict out_of_world
damage on entities such as arrows or falling blocks, they do not lose health or get destroyed.
To reproduce, shoot arrows into the void and they will disappear. However, arrows will never get destroyed no matter how many times the following command is run:
damage @e[type=arrow,limit=1] 1 minecraft:out_of_world
I guess they are removed by the game when they are below building height -64, rather than the void damage, so damage won't work.
Health is exclusive to LivingEntity and other entity dont have health. To destroy entities, use
/kill
instead.