It is always faster to do any filtering that you can on the server side.
Ultimately, you may not be able to get your desired, fully filtered list that way. But do as much filtering in the Search as possible and then do any required Advanced filtering on that as-small-as-possible list.
I present a real-world performance comparison of doing things the smart way vs. doing things the slow way here (the topic in question asks about :merge vs :filter, but I’m sure you’ll see how this applies in a great many other situations – read the whole thread for context):