I'm unsure if it is the expected behavior, but as of Apache Superset 5.0.0, you can create a virtual dataset by specifying the table_name to any value (a dataset with that name should not exist) and setting the desired sql query.
table_name
sql