Help adding filter to pre_get_posts action

Hi – This question if for Staging site…Due to a new plugin service am using called ElasticPress, I now need to use pre_get_posts to direct my site’s Main Query to my CPT (Activity). Everything is now working perfectly, and I am almost ready to push to Production. However, I am short one filter action. Can you help me add a filter to my pre_get_posts action in functions.php, so that Main Query is only pulling in results for Activities (my CPT) newer than the date of a custom field (date: Y-m-d) called “activityStart_date”?

The following is my current pre_get_posts action (which works perfectly):
add_action( ‘pre_get_posts’, ‘wpshout_pages_blogindex’ );
function wpshout_pages_blogindex( $query ) {
if ( is_home() && $query->is_main_query() ) :
$query->set( ‘post_type’, ‘activity’ );
endif;
}

This is what I found here that I thought might be close to what I need, but I’m unsuccessfull in marrying it to my code above:
function expiry_filter($query) {
if( !is_admin() && $query->is_main_query() ) {
$expire = get_field(‘post_end_date’:wink: ? : date(‘Ymd’:wink:;
$query->set( ‘meta_query’, [
‘relation’ => ‘OR’,
[
‘key’ => ‘post_end_date’,
‘value’ => $expire,
‘compare’ => ‘>=’,
‘type’ => ‘NUMERIC’,
],
[
‘key’ => ‘post_end_date’,
‘compare’ => ‘NOT EXISTS’,
],
]);
}
}
add_action( ‘pre_get_posts’, ‘expiry_filter’ );

Your help in solving this would be greatly appreciated, as I can then push my site changes (Staging site is now much faster and overall better than production). Unfortunately though, until I can figure out how to add filter, old and expired Activities will be included in the results, which is not what I want.

Much thanks,
Sam