Проблема оказалась до боли банальна, но не очевидна. В плагинах в определении конечного пути для файла я забыл указать точку. Билд функция все понимала правильно и делала все как нужно, тогда как дев-серверу нужен был относительный путь. Смотрим на живом примере:
...PAGES.map(page => new HtmlWebpackPlugin({
template: `${PAGES_DIR}/${page}`,
filename: `(вот она красивая, никогда не забывайте ее) => ./${(page == 'index.pug') ? '' : page.replace(/\.pug/, '')+'/'}index.html`,
inject: 'head',
excludeAssets: [/personal.*.js/],
hash: false
})),