The DOM class is used to bridge the various gaps between browsers - the dispatchEvent method, as you've noted, is invoked by the specific implementation in use at a given time. These browser-specific implementations live in the com.google.gwt.user.client.impl package:
*DOMImpl
**DOMImplStandard
***DOMImplMozilla
***DOMImplOpera
***DOMImplStandardBase
****DOMImplIE9
****DOMImplWebkit
**DOMImplTrident
***DOMImplIE6
***DOMImplIE8
DOMImpl doesn't ever call dispatchEvent, but DOMImplStandard calls both it and its partner previewEvent
as part of callbacks in the initEventSystem() jsni method. This callback is kept in the static field DOMImplStandard.dispatchEvent, and is later wired directly into dom elements (in the various sinkEvents calls), and so can be invoked by the browser when the user interacts with the page.
In the same way, DOMImplTrident.initEventSystem also has references to this method, by wiring them up to the browser's own callbacks.
Other classes typical watch or modify the callback in the dispatchEvent static field, the reference to the underlying JavaScript function.