Commerce Product listing View with category contextual filter, How to show items of (selected term and its child terms)
There are two approaches to solving this problem:


Use the product_taxonomy_filter module to add the missing filter. Note that the performance impact of this module is unclear (it adds a subquery since it can't rely on the taxonomy_index table).
Build your product catalog the recommended way, using Search API. The official docs cover this use case (via adding the "Index hierarchy") processor.