Rule filter for commits on branches not working as expected

I have a job that should run on the commit (after MR) to either master (default) or “stage” branches, but its running on any commit

Create_Tag:
  stage: version_tag_branch
  rules:
    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "stage"'
  script:
    - echo "create tag"

I have other rules for MR only, or on tag, and those seem to work fine, and are as straight forward as this, but this rule seems to trigger on any commit to any branch.

gitlab version 12.3.9.ee (soon to be 12.4.8)
Thanks
Justin

The $CI_COMMIT_BRANCH is too new… need to use $CI_COMMIT_REF_NAME