Filter by field with array value in ACF on WP REST API

Advanced Custom Fields stores values for multiple select fields as a serialised Array. For a select field with options ‘one’ and ‘three’ selected, the value stored on the database would look like this:

'a:2:{i:0;s:3:"one";i:1;s:5:"three";}'

It is simply not possible with WP_Query (which is where your meta query ends up) or SQL to filter results based on selected values stored this way. MySQL sees this value as a generic string, and cannot understand that there are distinct values contained in it (‘one’ or ‘three’, let alone query based on them. This is because serialisation occurs entirely in PHP and MySQL doesn’t know about it. It’s the same as if you stored JSON in a MySQL column: MySQL wouldn’t know anything about the data structure. It’s just text.

You either need to replace ACF with a solution that lets you store data the way you want (a custom taxonomy would be the simplest option), or use ACF’s APIs & filters to change the way it stores data. You will need to refer to ACF resources and documentation to figure out how to do this, as it would be off-topic here (this question, as asked, is off-topic too, but I’m treating it as a question about meta_query and serialised data).