The "regular" filters on fields are used within the query that Tableau issues to the data source, so when you filter on products you are losing all Store IDs that don't have the filtered products.
The approach around this is to use a filter based on a table calculation. Table calc filters are applied after the query is executed and most all computations have occured, so they effectively hide data. The solution in this case is to use the LOOKUP() function, such as LOOKUP(ATTR([Product]),0). Put that field on the Filter Shelf in place of the existing Product filter and you should be all set.