I ended up going Angular 9. It was a battle.
As far as Fontawesome goes though, I ended up putting all my required icons in a provider which I use across all pages.
import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';
import {
faTruck, faHome, faMoneyCheckAlt .....
}
constructor(library: FaIconLibrary) {
library.addIcons(faTruck, faHome, faMoneyCheckAlt ......
<fa-icon [icon]="['fas', 'home']"></fa-icon>