Hello,
We did some extra conditions to prevent loading out-of-stock variations but we used before and now WordPress transients that allow us to keep values (ids of variations) for some time and not make a new request every time on page load. It means that we make a request only once a day and all other times we return the variations ids (set earlier) from transients.
More about transients -> https://developer.wordpress.org/apis/handbook/transients/
xstore/framework/woo.php
function – etheme_product_variations_excluded
Regards