No results found for second level category

Looking at the code of the function generating the SQL for the term part of queries https://developer.wordpress.org/reference/classes/wp_tax_query/get_sql_for_clause/, it seems like a 0 = 1 is a symptom of bad parameters given in the query, so while you think you are passing the right parameters, apparently you don’t.

Only way to move forward is probably to debug what exactly happens in that function to understand what fails.

Side note: It is always a bad idea to use unsanitized url parameters, additionally the use of cat as parameter seems like a bad idea unless you truly mean it to collide with the general post categories.