WooCommerce Hiding A Certain Category From Being Displayed On Single Product

You are right about woocommerce: get_categories() being different from wordpress: get_categories(), the woocommerce function uses get_the_term_list(), so there is no way to exclude categories, same applies to get_the_category_list(). You can use wp_list_categories() for this, especially take a look at this example from the codex page:

Display Categories Assigned to a Post

Display the categories (or terms from other taxonomies) assigned to a
post ordered by parent-child category relationship. Similar to the
function get_the_category_list() which orders the categories by name.
This example must be used inside the loop.

Code:

$taxonomy = 'category';

// get the term IDs assigned to post.
$post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );
// separator between links
$separator=", ";

if ( !empty( $post_terms ) && !is_wp_error( $post_terms ) ) {

    $term_ids = implode( ',' , $post_terms );
    $terms = wp_list_categories( 'title_li=&style=none&echo=0&taxonomy=' . $taxonomy . '&include=" . $term_ids );
    $terms = rtrim( trim( str_replace( "<br />',  $separator, $terms ) ), $separator );

    // display post categories
    echo  $terms;
}

This isn’t a complete solution, you have to construct a function based on this and use your new function instead of the default inside meta.php.