With ISC, there are several ways to accomplish your objective. As you mentioned, you can write a custom before provisioning rule to change the operation to delete but it does require code review from SailPoint.
If you want to use a before provisioning rule, another option is to use the Services Standard Before Provisioning Rule. Once you install this rule into the tenant, you can add to your AD configuration to change the enable operation from the lifecycle state into a delete. In addition, there are a lot of other things that you can do with the Services Standard rule such as scrambling passwords and removing entitlements. The Services Standard rule does not require rule review from SailPoint. You can find the readme and the rule in the supporting documents section of the Mock Project.
Now for the next option that you linked from the forum, the poster shared a PowerShell script that would delete accounts. The way he accomplished this was all disabled accounts are put into a particular disabled OU. His script runs as a scheduled task (from Windows Server) and looks for accounts that have not been modified in a certain time period and deletes them. This process does not interact with ISC.
If you wanted to use an After Modify rule as you suggested, you would have to have some value that would update at 90 days. For example, you could have an identity attribute that is account state where you use a transform to calculate whether the account should be active, disabled, or deleted. You can use attribute sync to push this to an attribute in Active Directory. Then your After Modify rule can detect that the attribute being modified is getting set to “Deleted” and delete the account.
Hope this helps,
Alicia