WooCommerce products have a lot of metadata. Give a look at this answer to see most of them.
In your case it seems that the problem is the missing _visibility
.
Did you already try something like this?
$item = [
'post_title' => $product['name'],
'post_status' => 'publish',
'post_type' => 'product',
];
$postId = wp_insert_post($item);
update_post_meta( $postId, '_visibility', 'visible' );