Crossbows loaded with non-projectile items via commands still fire damage-inflicting arrow entities when the crossbow's tooltip states it's loaded with something different.
Expected behavior may include the item not firing anything at all, or just not responding to player action.
Note the fired arrow gives the player who picks it up the initially correct loaded item.
Steps to reproduce:
Load a world in Minecraft 1.21.4 Release Candidate 3 with commands enabled
Run in chat:
/give @s crossbow[charged_projectiles=[{id:"minecraft:stick",count:1}]]
Observe item in inventory, notice the statement "Projectile: [Stick]"
Fire the stick-loaded crossbow, notice arrow entity
Does MC-271286 describe your issue?