Are you using Entra Connect server ?
In this case ,you can create a custom synchronization rule to delete Synced account when the user account is expired:
In Scoping Filter:
Attribute: accountExpires
Operator: ISNOTNULL
Click on Add clause
Attribute: accountExpires
Operator: GREATERTHAN
Value: 0
Click on Add clause
Attribute: accountExpires
Operator: LESSTHAN
Value: 9223372036854775807
In transformations :
FlowType: Expression
TargetAttribute: cloudFiltered
Source: IIF(([accountExpires])<NumFromDate(Now()),True,NULL) as below:
Please don't forget to accept helpful answer