Search in 1) Post, 2) Products (woocommerce) and 3) Custom post type or Taxonomy type on a single page

I believe you cannot achieve it in the same loop. Instead, you should have three loops, each setting WP_Query criteria differently (setting WP_Query arguments to filter for Post, Products and Custom Taxonomy). Howevery, you want to save initial search parameters in variable(s), so you could apply them to those three different loops as other parts of arguments array. More details you can find in lower part of this page: https://wordpress.org/support/article/creating-a-search-page/