Same thing happens on my site. I can’t provide a link because I’m developing locally. On all pages it works fine except on the shop front page and the search result page. Could it be the case that those WooCommerce pages are archives? When inspecting the page I see that the appropriate HTML is not injected. The same template is used.
In the template:
<div id="headerimage">
<?php if ( get_header_image() ) : ?>
<img src="<?php header_image(); ?>" class="header-image" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" />
<?php endif; ?>
</div>
In the working HTML:
<div id="headerimage">
<img src="https://stockphotosite.dev/wp-content/uploads/2014/12/DSC02741.jpg" class="header-image" width="960" height="250" alt="">
</div>
In the non-working html:
<div id="headerimage">
</div>
I hope this helps us to figure it out on a short notice.