My understanding is…
If it’s in the “Search for” box, then yes it’s processed server side. If you have a scrolling RG, then it will only load what’s needed to populate what’s visible, plus a few more. If your RG is set up to load everything, it loads everything.
Note that most server side searches are very fast (unless you have stuff like nested searches). Also note that when you use :filterd or :sorted, those are usually done client side (and client side is slower).
I assume you mean custom states. I’ve read of some users loading searches into custom states or hidden RGs in the page, and then having the user searching/sorting work from that. I can’t recall if they are doing that to speed up the searching, or the loading. I have not gone down that route because my data set is too large to load on the page in its entirety, and the server side searches are fast for me. I’d say start with the simple “Search for” setup and then if that’s not working, explore other options.
I found these links really helped my understanding of how Bubble operates, which then informed my search/sort setup: What are your best tips for designing fast apps?