Корректность использовани тега i для иконок?
Есть мнение, что как раз семантично и правильно делать это через тег i
Ранее, до html5 этот тег был просто презентационным и использовался для italic текста, но позднее был переопределен под любой текст, написанный отличительным манером от основного текста. Вот что говорит mdn:
The HTML  Element represents a range of text that is set off from the normal text for some reason, for example, technical terms, foreign language phrases, or fictional character
Fictional character это как раз наш вариант с иконками.
не семантично, но удобно в использовании
точно знаешь, что там лежит иконка
а ты почему фоном задаешь?