Exposed filter with "inverted" checkbox: Checked = view all, Unchecked = filtered
I have not tested this but you might be able to do it by using 2 filters. Add a non exposed filter that filters by stock > 0. Make sure it is below your current filter. Views filters in order from top to bottom. So if the page loads and that check mark is un-checked you will only see products with a stock greater than 0. If they then check the box it will re-load and filter by your stock >= 0. That might work. As I said I have not tested this.