So this isn’t a “perfect” solution but it does work.
in the collection page loop, just after the filters load. I added this script:
Which does reload the page, but it checks to see if the availability filter is selected. And if it isn’t it simulates the user actually clicking on it.
Then when the user goes to select a size from the size filter, it’s already filtering out, out of stock products. So you only get ones that are instock.
While this works, it is a bit slow. So I’m trying to improve it where it will happen almost immediately after the user lands on the page.