2014になってようやくイベント順を固定した事なんて、全く威張れる話ではない。
それを「Webは速い(キリッ」とか、マジでヤバいってことだよ。

個人的にはWPF(2007)はHTMLを丸飲みすべきだったと思っていたが、
しなかった(出来なかった)理由はここら辺にもあるのだろう。

全般的にJavaScriptの仕様委員会の奴らからはコードを書いているニオイがしない。
これが多分、今のJavaScript界の一番の問題だ。
この仕様ではコードが書きづらい、というところが結構ある。(放置されている)

今回もそう。仕様もイマイチおかしいだろ。
プログラミングモデルとして整備するなら、

A: enter -> over -> out -> leave …入れ子(6パス=150%)
B: over -> enter -> out -> leave …W3C(5パス=125%)
C: over -> out -> enter -> leave …最速(4パス=100%)

Aのように入れ子にするのが妥当だが、何故かBになってるだろ。
これは enter は over の、leave は out の従属イベントになっていることを示唆している。
実際、実装上はそうだから、Cの順なら最速になる。(BはC比125%遅い)
ただしCはプログラミングモデルとしては意味不明だから、
一般的には「保証されていない」と表現されることになる。(for-inがこれ)
ところがこれもないだろ。
プログラミングモデルとして整合性も無し、最速でも無し。
コード書いてる奴らならAかCにする。ここら辺がちょっと違和感がある。
元々「規定無し」で来てたのをわざわざBにする意味はない。普通は決めるならAにする。

結果的にこういった間違った仕様の選択がJavaScriptを静かに殺していく。promiseもそうだ。
なお、WPFはどうなのかな?と思って確認したが、mouseover自体がない。
おそらくenter/leaveがbubbleするようになってて、それだけだ。
彼らはover/outは冗長だと判定したようだ。