I use several query filters on this page of my Woocommerce site: https://coloursbykarat.com/shop/
One of the filters is a “Filters - Search” element. When entering a value such as “0387” (intended to show all products where the SKU contains “0387”), the grid shows the 3 products that have “0387” in their SKU (GOOD), but also any product that has an upsell or a cross-sell that has “0387” in the SKU (BAD). The url of the page after the filter is applied is https://coloursbykarat.com/shop/?posts_per_page=48&s=0387.
“Query Bricks data in search results” WAS enabled, and disabling it DID make a difference (when disabled, NO results were returned when searching for “0387”).
The default WP search will not search through the SKU meta field (_sku)
I have created the “Query Bricks data in search results” bug for the dev team. Currently once you enabled this, it will amend to search the value from all post meta key which is not right.
By the way, if you want to amend WP default query to search the SKU, you should use PHP filter like “posts_where” hook etc.
I use SearchWP plugin which includes the SKU in searches. You can tell that it work by doing a basic search with a URL like https://coloursbykarat.com/?s=0387.
As per our email conversation, the SearchWP issue is a different topic. It seems like their Search algorithm will not be executed if the request/search query is performed on a custom REST API endpoint.
You just need to find a way to search Woo SKU when performing Bricks Query Filters and default search. This is the working code snippet applied to your site. Sharing it here in case anyone needs it.