To be fair, the condition is evaluated on only one server: the Ansible controller. The task is skipped for other hosts in scope for that play.
And you did specifically ask for the task.
Alternatively, you could end the play, and in the same file start a new play that is scoped via “hosts:” to just the host group(s) you’re interested in, and put your task inside that play. That will eliminate the messages about the skipped hosts, because there are none.