I ended up changing my query to get_posts
<?php
// get posts
$posts = get_posts(array(
'post_type' => 'attachment',
'posts_per_page' => -1,
'post_status' => 'any',
'post_parent' => null,
'tax_query' => array(
array(
'taxonomy' => 'post_tag',
'field' => 'slug',
'terms' => 'vehicle'
)
),
'meta_key' => 'vehicle_sort_order',
'orderby' => 'meta_value date',
'order' => 'DESC'
));
?>
This works, but still curious as to why the WP_Query I initially had wasn’t working.