Иконка в кнопке перехватывает event.target
Обработчик висит на кнопке, но при нажатии на SVG пытается прочитать данные у path. target указывает на исходный узел события. Для прямого обработчика используйте currentTarget.
button.addEventListener("click", function(event) {
const id = event.currentTarget.dataset.id;
console.log(id);
});
У делегированного обработчика currentTarget будет контейнером. Там ищите кнопку через closest и проверяйте, что она относится к нужному контейнеру. Не читайте currentTarget после await: сохраните ссылку до асинхронной операции. Проверьте нажатие на текст, фон и вложенную иконку.