Camunda returning incorrect list of tasks using task variables

I am using a parallel multi-instance task to create multiple tasks once a form is submitted. Everything works fine while creating the task, the multi instance task is creating the individual tasks with the variable values. I can also see the element variable value is added as variable to all the tasks.

I am starting the process using REST API. My api request body is

{ 
 "businessKey":"1", "messageName": "start", 
 "processVariables" : { 
    "var1" : {"value" : "1", "type": "string"}, 
    "var2": {"value" : "[\"1\",\"2\",\"3\"]", "type": "Object", 
        "valueInfo" : { "objectTypeName": "java.util.ArrayList", 
        "serializationDataFormat": "application/json" } 
       }
   } 
}

When I try to query the task list using task variables, the api returns empty response. However I can see the variable present in Camunda Tasklist page as well as the API engine-rest/task/{taskId}/variables.

I tried querying for task list using both the GET and POST task list options shown below.

GET: /engine-rest/task?processInstanceBusinessKey=1&taskVariables=val_eq_2
POST: /engine-rest/task
Body: 
{
"processInstanceBusinessKey": "1",
"taskVariables":
    [{"name": "val",
    "value": "2",
    "operator": "eq"
    }]
}

Response: []`

If the task variable is present why is the api not returning tasks based on the task variable name?