if (module.hot) {
module.hot.accept();
// вот тут должна быть логика по замене старого модуля на новый
}
Для css такую логику добавляет css-loader
Для js - есть стандартное поведение - live reload
Для html - в Вашем случае html не является полноценным модулем с точки зрения webpack, ибо у Вас HtmlWebpackPlugin, который работает как бы сбоку, беря от webpack только его хуки