Kubernetes plugin command variables not expanding?

I’m trying to use the Kubernetes plugin, my pipeline looks like this:

kind: pipeline
type: kubernetes
name: cluster-create

# new comment goes here

image_pull_secrets:
- image_pull_secret

steps:
- name: initialize
  image: xxxxxxx.azurecr.io/yyyyyyy/drone-terraform-azure/terraform-azure:main
  environment:
    STATE_STORAGE_ACCOUNT:
      from_secret: state-storage-account
    STATE_CONTAINER_NAME:
      from_secret: state-container-name
    STATE_ACCESS_KEY:
      from_secret: state-access-key
    SERVICE_PRINCIPAL_PASSWORD:
      from_secret: service-principal-password
  commands:
  - env|sort
  - az login --service-principal --username "ServicePrincipalTerraform" --password 
${SERVICE_PRINCIPAL_PASSWORD} --tenant my-tenant-id-here

But the command “az login” isn’t getting the service principal password expanded???

See docs.drone.io/pipeline/environment/substitution/#escaping

Well, I did read the escaping rules, turns out they don’t expand if you use the dollar-curly ${} syntax, you
just use a dollar sign. When you read this doc: Substitution | Drone
Examples show ${DRONE_TAG} so I assumed that would work. It is documented,

Also note the environment section cannot expand environment variables or evaluate shell expressions. If you need to construct variables it should be done in the commands section.