Поскольку речь идёт о
нестандартном событии, неком "added_to_cart", важно, как это событие вызывается-создаётся.
На чистом JS надо создавать своё событие и триггерить его:
const event = new Event('added_to_cart');
// слушать это событие
elem.addEventListener('added_to_cart', function (e) { /* ... */ }, false);
// вызвать это событие
elem.dispatchEvent(event);
У jQuery собственная ламповая система событий, не связанная с общемировым JS.
Если триггерить событие в jQuery, что, скорее всего, у вас и происходит, то чистый JS его не поймает:
Причём, как видно, jQuery слушатель ловит кастомные события и jQuery, и JS. А слушатель JS – только события JS.