Basically, icon font styles and icon font files are only integrated into the front end if you set one of the icons in the builder, i.e., in an icon element or an icon setting in any element.
By using “custom HTML,” neither the styles nor the font file are loaded in the front end (they are in the builder because performance is irrelevant there). In addition, you have assigned another font family to the heading element on the ID (Poppins), which also affects the <i>. So the icon doesn’t know what it actually is.
If you insert an FA solid icon elsewhere in your header or footer (directly in the builder, not with inline or custom HTML), the styles and font file are always available, and you can save yourself the trouble of manually assigning the font family styles.