How can a .css file be applied to a virtual page?

You can hook into wp_enqueue_scripts and use wp_enqueue_style() the same way you normally would, but use the same condition you use to change the template to conditionally enqueue the stylesheet:

if ( get_query_var( 'dump', false ) !== false ) {}

So you you’d load the stylesheet with this method:

function enqueue_stylesheet() {
    if ( get_query_var( 'dump', false ) !== false ) {
        wp_enqueue_style( 'dump', 'path/to/css/file.css' );
    }
}

And alongside your other add_action() calls:

add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_stylesheet' ) );