I dug deeper and found the source of the conflict.
For Font Awesome version 4, which my plugin uses, the font is named “FontAwesome” in the CSS. This ensures compatibility across minor versions (4.6, 4.7, etc.) and sources (themes and plugins).
In Font Awesome 5, that name is “Font Awesome 5 Free”. Loading version 5 plus a shim for version 4 ensures backwards-compatibility. The official Font Awesome plugin handles this very well.
Your theme loads version 5 (without the shim) but uses the version 4 name “FontAwesome”. Presumably, the theme was originally built for version 4 then replaced it with version 5 thinking it was a simple one-for-one replacement.
So any CSS for “FontAwesome” expects version 4 but is given version 5 because your theme inadvertently overrides it.
If your theme were to use the correct name “Font Awesome 5 Free” and load the shim for version 4, both versions could co-exist and the workaround would be unnecessary.
You would be doing your theme developer a favor by bringing this to their attention.
https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4