That's what I do in my Matter drivers.
A healthCheck scheduled job pings the device every hour (configurable). If the device has been reset, the next ping (reading the Basic Information Cluster: DataModelRevision attribute) will fail, resulting in automatically calling the initialize() method of the driver.