No external variable overrides for Service containers in K8S runner

Self-hosted Gitlab omnibus docker install (15.6.3) using Gitlab runner 0.36.1 (App version 14.6.1) in a Kubernetes executor setup (installed via Helm chart).

My .gitlab-ci.yml has a top-level variable block with some variables to be conveyed to 3 different service instances defined in the same .gitlab-ci.yml. I see in the docs that services.variables are not conveyed in K8S runners prior to 14.8 (so that’s why I have them in the top-level block).
The good news is: the top-level variables are present in the service instance containers in the job’s K8S Pod.
BUT (here’s the reason for this topic/post) if I define an override for one or more of these top-level variables in the “manual pipeline run” screen, or via the -o ‘ci.variable=my_var=override-value’ git push option, or via a project variable definition, the override isn’t applied, the value is still the value defined in the top-level variable block. Usage outside a service block does have the overrides (ie. a job’s script gets the override value.

Any chance this is a know limitation of the pre-14.8 runners regarding service instances? And more importantly, do overrides get applied as expected for service instances when using the 14.8+ runners?

The variable precedence order is a powerful feature of the Gitlab CI/CD ecosystem, I sure hope the service instances will be able to leverage the same quite flexible functionality.
MTIA for any feedback, insights.