This is not really a Cisco Secure Client AnyConncet issue ...
To be able to get the DeviceID attribute (which is what conditional access requires to do a compliance check), an application has to know to call the Microsoft MSAL library to do the authentication. Microsoft has not created a design where there is any other way to get that device ID.
The problem for Cisco Secure Client AnyConnect is there is no way that it can know to do this. All it gets is a SAML URL to call. It could be a SAML URL for any Idp, Cisco DUO, Okta, anyone. It can't tell that "this" URL is specifically for AzureAD and needs a non-standard SAML setup to be done.
This is more of an architectural design restriction (I would call it an error) that Microsoft has made.
Other Idp platforms (like Cisco Duo) do not experience this issue. They have used a mechanism that lets device trust/compliance be asserted from within a standard micro-browser, which is what Cisco Secure Client AnyCoinncet uses.
A good solution I use with a lot of clients is Cisco Duo on top of Azure AD, and you use Cisco Duo to apply all the compliance policies. Note that if you use federation and have Active Directory you don't even need an Azure AD P1 licence - so it can actually work out cheaper!
Duo's Device Trust is also more flexible, in that you can assert trust for devices not in your Intune - such as for contractors. Using Intune and compliance policies and then trying to allow devices from other managed AzureADs is hellish otherwise (bordering on impossible).
https://duo.com/product/device-trust
But back to Microsoft - I don't think they'll correct or fix this design error they have made.