Hovering should be a "safe" action
Hovering, or simply moving the mouse is normally a purely passive action, and doesn't typically get treated as decisively as other user input (except, perhaps, for detecting inactivity). Hovering is an exploratory action, and should be guarded as a safe way for the user to gain additional contextual information, and peruse their environment before taking actions.
You may think that changing focus is not really affecting much and is easily fixable, but it now means that the user's hover action is no longer "safe". Their typically harmless explorations now have consequences.
Hovering is not expected to affect the state of the system
Both on the web and in desktop applications, hover actions do not permanently change the state of the system. For example, a menu that expands on hover is expected to collapse when the mouse leaves. This norm reinforces the idea that a hover action is only a "shadow" that only temporarily modifies its surroundings.
Provide the feature only after explaining it, and allow the user to easily disable it
This feature will break the user's expectations for hover actions, so it should be an opt-in feature, or at least one that is explained at the start. I see the value in providing the feature so long as it fits the user's workflow, so empower them to utilize it if they wish.
As an additional note, your example of the alarm application breaking the users expectation by capturing focus is justified (in my opinion) because it's time-sensitive. Its core purpose is to capture the users attention at a certain time, so the intrusion is actually beneficial.