Можете също директно да използвате IN заедно с json_array_elements:
Recipe.where("'405' IN (SELECT json_array_elements(data->'category_ids')::text)")
И ако вашата колона е jsonb колона, можете да направите по подобен начин:
Recipe.where("'405' IN (SELECT jsonb_array_elements(data->'category_ids')::text)")