Is dynamic runner selection supported?

I am trying something like:

kind: pipeline
type: kubernetes
name: test-node-selection-dynamic

trigger:
  event:
    - promote

steps:
  - name: test-dynamic
    image: alpine:3.12.0
    commands:
      - echo "great success DYNAMIC"

node:
  environment: ${DRONE_DEPLOY_TO}

With no success.
${DRONE_DEPLOY_TO} is not being replaced by the environment value.

Does the substitution only occur on the runner side?
If so is there any alternatives to achieve this behaviour?

Thanks in advance.

Does the substitution only occur on the runner side?

Yes, dynamic substitution occurs on the runner, which means you cannot use substitution in the node selection. If you need dynamic routing, however, you could use Starlark scripting.