Pre get posts where template is not equal to one specified?

You should use meta_query to pass meta query arguments.

add_action('parse_query', 'se334731_filter_admin_post_list');

function se334731_filter_admin_post_list( $query )
{
    $screen = get_current_screen();
    if ( is_admin()  && $screen->post_type == 'page'  && $screen->base == 'edit' )
    {
        $query->query_vars['meta_query'][] = [
            'relation' => 'OR',
            [
                'key' => '_wp_page_template',
                'value'    => 'page-some-template.php',
                'compare'  => '!=',
                //'value'    => array( 'page-some-template.php' ),
                //'compare'  => 'NOT IN'
            ],
            [
                'key' => '_wp_page_template',
                'compare'  => 'NOT EXISTS'
            ],
        ];
    }
}

These changes will not affect the summary of the number of posts (all, published, trashed) above table. To correct the displayed number of posts, use the wp_count_posts filter.

Here you can read more about Custom field parameters.