Runner allocation issue to protected branch

Runners to protected branches are not allocating correctly. Here is my use case and steps to deploy runners:

  1. I am using two runners say runner-a and runner-b.
  2. runner-a i want to use for gitlab protected branches
  3. runner-b i want to use for gitlab non protected branches.
  4. Now I have deployed runner-a then runner-b with the same configuration.
  5. Now i go to my gitlab repo > settings > ci/cd > runners
  6. Click on runner-a pod and click on edit button and set This runner will only run on pipelines triggered on protected branches to true then save.

After this deployment, all pipeline from protected branch should assign to runner-a but almost every pipeline is getting assign to runner-b instead of runner-a.

Although i found a hacky solution -> Everything works fine if I deploy runner-b first and then runner-a in above deployment process.

Can someone tell me why we are getting this weird issue? If this is really an runner allocation issue, should i raise a bug on gitlab-runner repo?

Note: I am executing gitlab runner using helm chart and Kubernetes executer.

Thanks.