ansible-playbook shows encrypted data?

I have encrypted some of my host_vars data using ansible-vault. The data is encrypted properly. What is odd is that when I run the playbook that uses the data, the data is output, in plaintext, to the console.

It does this when the task has changed, and when the task hasn’t changed.

Is that expected behavior?

Ansible 2.4.4.0 on Ubuntu 18.04.

Yes.
If you would like to hide information in logs and output use the no_log: True attribute on the task or the play.