Ничего костыльного я пока не вижу. Когда скрипт popover инициируется, он делает из вашей разметки popover, вся вновь добавленная разметка, будь то pjax, ajax или просто js требует инициализации скрипта popover. Так что либо включать этот скрипт на страницу, которая подгружается или инициализировать после завершения pjax загрузки по событию complete. Все верно. Разве что, можно переписать немного сам widget PopoverX, добавив эту логику туда. А так все верно.