Append a term to WooCommerce product existing product category terms

You just need to add a missing boolean argument in wp_set_object_terms() function like:

wp_set_object_terms($post->ID, $term->term_id, 'product_cat', true);

This time the term will be appended and not replaced.

You should check that the term doesn’t exist yet on the product, before appending it like:

add_action( 'transition_post_status', 'new_product_add', 10, 3 );
function new_product_add( $new_status, $old_status, $post ) {
    if( 
        $old_status !== 'publish' 
        && $new_status === 'pending' 
        && ! empty($post->ID) 
        && $post->post_type === 'product'
    ) {
        $taxonomy = 'product_cat';
        $term_id  = get_term_by( 'name', 'parent_category', $taxonomy )->term_id;

        if( ! has_term( $term_id, $taxonomy ) ) {
            wp_set_object_terms( $post->ID, $term_id, $taxonomy );
        }
    }
}