How do I extract just the post ID of the first item in whatever WP_Query returns?

If you only need the ID of a single post of a custom post type, to see if it exists, I’d suggest just using get_posts() with fields set to ids:

$post_ids = get_posts(
    [
        'numberposts' => 1,
        'author'      => $current_user,
        'post_type'   => 'my_custom_post_type',
        'fields'      => 'ids',
    ]
);

if ( isset( $post_ids[0] ) ) {
    $post_id = $post_ids[0];
}

However, if you have a post type where every user gets 1 post, I’d suggest storing the ID of their post as user meta. Then you don’t need to bother with this sort of query:

$post_id = get_user_meta( $current_user, 'the_post_type', true );

tech