filter() expects you to use the raw PostgREST syntax for the filter values.
.filter('id', 'in', '(5,6,7)')  // Use `()` for `in` filter
.filter('arraycol', 'cs', '{"a","b"}')  // Use `cs` for `contains()`, `{}` for array values
const { data, error } = await supabase
  .from('characters')
  .select()
  .filter('name', 'in', '("Han","Yoda")')
const { data, error } = await supabase
  .from('orchestral_sections')
  .select(`
    name,
    instruments!inner (
      name
    )
  `)
  .filter('instruments.name', 'eq', 'flute')