'if: tag IS present' does not work

If I correctly understand your example (kindly correct me if I am wrong), it means: build whether master branch or whether the branch (any) is tagged. Or, in my case, master branch (for a couple of minutes until auto-tagging kicks in) could be untagged.

In such cases, I do not want to build. Only when master branch is tagged. So I could try if: master AND tag IS present. But this will not work as, up to my understanding, you will never have both conditions full-filled (see this post).

Do we have a bug here?