Hi,
Secrets are part of the data plane of a Key Vault. For example same would be if you have SQL database and you create tables in that SQL database. For that case tables are also part of data plane. Azure Policy controls only the Management plane. Key vault is part of management plane thus the policy works for it. In the specific case with secrets they are also exposed via the management plane but that does not mean you cannot create secret by passing the management plane and creating it directly from data plane. I think in this case that is what is happening. I can advise you to try something and test if that will work. Instead mode being All change it to Microsoft.KeyVault.Data. That mode basically allows you to enforce policies on the data plane objects of the Key Vault like secrets. There are already such built-in policies using that mode so may be the mode will also work for the tags of those objects as well.
Update: After testing the customer reported that tags is not allowed when the mode is set to Key Vault. Due to that this can only be solved if it can be implemented as feature to be able to control the tags on data plane as well in a way how you can control expiring dates for secrets for example. Azure support request is opened via Azure Portal. You could try Azure Policy GitHub repository but I do not know if you will get any response there. Same goes for Azure feedback. It is unclear if it is Azure Policy issue or Azure Key Vault issue as it refers to Key Vault data plane.
Please "Accept the answer" if the information helped you. This will help us and others in the community as well.