Plugin development-- Event fired if email address is changed?

It is not because it is a different model, as you found out. Since @LeoMcA changes where merged, User and UserEmail are different models, and changing an instance of UserEmail won’t trigger an watcher in a User instance.