How do I fit WP_Query arguments into a function?

This should work:

$query->set( 'date_query', array(
    'relation'    => 'OR',
    array(
        'column'  => 'post_date',
        'after'   => '-7 days'
    ),
    array(
        'column'  => 'post_modified',
        'after'   => '-7 days'
    )
) );

You might want to adjust the callback’s name, since it’s not only ordering the home page. You also have _asc in that name but are setting the order to DESC within it. So it might cause confusion.

Note that you will not have accessible permalinks for the future posts.

It might be more flexible to filter the posts on the home page according to some category/tag/custom-taxonomy instead of excluding hardcoded post IDs.