Note: I have no idea if this issue is duplicated by another issue or not. I tried to search "/damage custom name" but I didn't found any issue that was as same as this issue.
STR (Steps to Reproduce):
Step 1: Create/Go to a superflat world without structures. This to make sure that there're no items (entity) around you.
Step 2: Throw a item with a custom name on the ground, in this case is "Ominous Banner".
Step 3: Run this command:
/execute as @e[type=item] run damage <player-name> 100 mob_attack by @s/execute as @e[type=item] run damage <player-name> 100 mob_attack by @sExpect: "<player-name> was slain by <custom-name-of-item>" (in this case is "<player-name> was slain by Ominous Banner")
Reality: "<player-name> was slain by <original-name-of-item>" (in this case is "<player-name> was slain by White Banner")
i can confirm this issue