Setting up a system to immediately use /data to remove ArmorItems NBT data from entities will not update the visuals in-game. The entity does lose the armour, but still appears to wear it.
To replicate, place a repeating/unconditional/always active command block with the following command:
execute as @e[tag=!Updated] run data merge entity @s {ArmorItems:[{},{},{},{}]}
Then, a chain/conditional/always active command block with the following command, chaining from the first:
tag @e[tag=!Updated] add Updated
Finally, summon a zombie to test with:
/summon minecraft:zombie ~ ~ ~ {ArmorItems:[{},{},{},{id:"minecraft:diamond_helmet",Count:1b}]}
The zombie will appear to have a diamond helmet equipped, but will still burn in daylight and using /data get will reveal that it has no ArmorItems.
There is an identical issue with the HandItems tag.
This is the same bug as MC-197737.