As officially documented, we can label a node to tell in which availability zone it is:
So, as a result, the label topology.kubernetes.io/zone can be used as a fallback mechanism in Kubernetes environments to detect the zone in cases where no cloud node info is available.
For on-prem environments, the label to look for could also be made configurable. This way, what is classified as a "zone" also becomes a bit more flexible.