If your theme is any good it will use wp_enqueue_style
to include fonts in the head of your site. This gives you access to the style_loader_tag
filter, which you can use to modify the html of the font link. Like this:
add_filter( 'style_loader_tag','wpse366869_preload_styles', 10, 4 );
function wpse366869_preload_styles( $html, $handle, $href, $media ) {
// do this only when 'fontawesome-webfont' is mentioned in the html
if( 0 != strpos( $html, 'fontawesome-webfont' ) ) {
$html = str_replace( '<', '<rel="preload "', $html );
}
return $html;
}