Hey @Danish11052000,
Yes... This is expected and documented behaviour, not a bug.
system.access.workspaces_latest contains only active workspaces in the account. When a workspace is cancelled/removed from the account, its row is removed from this table.

system.access.audit is a 365-day history of audit events for workspaces in the region, and it continues to store events even after a workspace has been deleted.
So when you run that particular query in your post, the rows you see are typically events for workspaces that used to exist (or were recently deprovisioned) but are no longer present in workspaces_latest. Because workspaces_latest is a slow-changing dimension of the latest state of active workspaces. It wonโt retain those historical entries, while audit will.
If youโre validating coverage, you can interpret workspace_ids that donโt resolve in workspaces_latest as deleted/no-longer-in-account workspaces (or in rare cases, very recently created ones before workspaces_latest has caught up).
If this answer resolves your question, could you mark it as โAccept as Solutionโ? That helps other users quickly find the correct fix.
Regards,
Ashwin | Delivery Solution Architect @ Databricks
Helping you build and scale the Data Intelligence Platform.
***Opinions are my own***