Following up, because this deserved a real fix rather than a workaround.
The cause was the icon subsetting introduced in 2.6.7. You went from 2.4.9 straight to 2.6.9, so it arrived along with everything else in that jump. The bundled Font Awesome carries only the 93 glyphs the theme draws itself, and fa-history is not one of them — so there was neither a CSS rule nor a glyph for it to render. Your markup was never the problem: fa, fa-fw and fa-history are all still perfectly valid.
Until the next release is out, the filter from my earlier reply is still the way to bring them back:
add_filter( 'sparkling_full_fontawesome', '__return_true' );
The next release, 2.6.11, makes that unnecessary. The theme now reads the icons used in your menus and loads the complete library by itself when one of them is not in the bundled set. Menus like yours recover on the next page load — no filter, no setting to find, and no change to your menu labels. I tested it against your exact markup, both the <span class="fa fa-history fa-fw"> version and the <i> one, and the icon renders.
There is also a new Font Awesome icons setting under Appearance → Customize → Content Options, for icons the menu scan cannot see: ones in a widget, in post content, or added by a page builder. It is set to Automatic by default, and the filter still overrides everything.
Sites that only use the icons the theme itself displays keep the small bundle, so the page-weight saving that the subsetting bought is not handed back to get your icons working.
One note for later: a number of icon names changed in Font Awesome 6, with the old names kept as aliases, which is why fa-history still works. If an icon ever refuses to appear, check its current name on fontawesome.com — this one is now fa-clock-rotate-left.
I will post here again once 2.6.11 is available on WordPress.org.