Despite having entities like eggs, snowballs, arrows etc work with "execute on origin", Eyes of Ender are an exception to this sub command and don't work.
Reproduction steps:
1) Get an Eye of Ender
2) Run the following command: /execute as @e[type=eye_of_ender] on origin run say hello
3) Take note as nothing happens
What is happening:
The command fails to find the owner of the eye of ender
What should be happening:
The command would run successfully and make the player say "hello" in chat via the say command
eyes of ender do not track owner nor origin, as they don't need to. The only things it needs to know are whether it breaks, and where it is pointing to. Arrows, ender pearls, snowballs, etc. all need to keep track of the origin for combat reasons.
This is a feature/change request,not a bug.