Код выглядит нормально, однако, как упомянул @yurzui, проблема заключается здесь
bullet.events.on("hit", function (ev) {}
, так как он будет вызываться из другого контекста, там недоступен modalService.Попробуйте использовать функцию стрелки, чтобы сохранить этот контекст. Чтобы исправить это,
bullet.events.on("hit", (ev) => {
console.log(ev.target._dataItem.dataContext);
this.modalService.open(this.dialog);
});