When a mob spawns with an item that is then immediately removed, the item will still be shown visually.
Steps to reproduce
Freeze the tick rate
/tick freeze
Give yourself a zombie spawn egg with armor (this is just for testing, it also works with natural spawns)
/give @p zombie_spawn_egg[entity_data={id:"minecraft:zombie", HandItems:[{id:"minecraft:golden_sword",count:1},{}], ArmorItems:[{},{},{},{id:"minecraft:golden_helmet",count:1}]}] 1
Spawn the zombie
Remove the items
/data merge entity @e[type=minecraft:zombie, sort=nearest, limit=1] {ArmorItems:[{},{},{},{}],HandItems:[{},{}]}
Unfreeze the tick rate
/tick unfreeze
The zombie will burn in the sunlight and according to /data is not holding any items
/data get entity @e[type=minecraft:zombie, sort=nearest, limit=1] ArmorItems /data get entity @e[type=minecraft:zombie, sort=nearest, limit=1] HandItems
Can confirm