WordPress fetches the archive page instead of my custom template

WooCommerce uses a custom post type called product for its product. Your shop page appears to be looking for a products archive. I can tell this because of the slug – post-type-archive-product

Have you tried renaming your custom shop template file archive-product.php? This should override the default archive template.