A few points are worth noting which may affect why the routing is not behaving as you intend:
1- As noted here [2], the appengine.applications.get IAM permission is required to use AppEngineRouting.
2- As noted here [3], “appEngineRoutingOverride” has priority in that if this is set on a queue pointing to a specific service, all tasks in a queue will have their target set to that service even if the AppEngineRouting is set at the individual level.
3- Configuring routing can be done against App Engine queues only [4]
If you wish to set up routing at the queue level, please try using the gcloud command to see if this is successful:
gcloud tasks queues update [QUEUE_ID] \
--routing-override=service:[SERVICE],version:[VERSION]
[4] https://cloud.google.com/tasks/docs/configuring-queues#routing