Интересно, что для объяснения event propagation в DOM используется React, который не обязан действовать как браузерный DOM. Но, что интересно, React так же предоставляет capturing фазу обработки событий ) <div onClickCapture={() => { /* this runs first */ }}> </div>
Event Propagation: фазы погружения (capturing) и всплытия (bubbling)