The "Enchantment active status" does not get saved on an entity and thus gets lost when saving and reloading.
How to reproduce:
I've attached a datapack that adds a test:speed_toggled
enchantment that adds a attribute modifier increasing the movement speed when stepping on red concrete and removes it when stepping on blue concrete, using the "enchantment active status" to keep it active in between.
Create a world with the attached datapack
Enchant any piece of armor with the
test:speed_toggled
enchantment and equip it/enchant @s test:speed_toggled
Step on red concrete
✔ You get a speed boostStep off the red concrete
✔ You keep the speed boostClose and reload the world
❌ You no longer have a speed boost
Can confirm:
[media]