Direct Delete is executed directly on the database not on a set of pre-fetched entities.
So Actually the system doesn't have the entities in hand while executing the delete.
Ad it wouldn't make sense for the system to fetch the entities before executing the deletes, because the developer can do that himself and avoid direct deletes, or at least execute direct deletes after fetching the entities.
So if you resort to direct deletes, without fetching the entities, then the info passed to the AuditDirectDeleteOfEntities is all what the system can provide.