The Audit effect policy works like this only. VMs(resource type in IF) matching all the policy conditions will be marked as non-compliant and remaining VMs(linux/windows) that do not match will be compliant.
To avoid this and only get Windows VM in compliance report, please use AuditIfnotexists effect.
https://video2.skills-academy.com/en-us/azure/governance/policy/concepts/effect-audit-if-not-exists