Smart folders effectively define a query to find their content. You can find the content they contain. What you can not do is have a predicate that says you want to find content in or below a folder AND that folder is a smart folder. You should just add a filter query that matches your smart folder predicate.
PATH predicates ignore smart folders. This was a very clear limitation in the implementation (so it's not a bug).