As of the 2024-01 release of the GraphQL Admin API, new dedicated webhook topics have been introduced to notify whenever there is a change in the status of a subscription contract.
subscription_contracts/activate is added when the subscription contract status turns to active,
subscription_contracts/expire when a subscription contract's status turns to expire,
subscription_contracts/fail when the status turns to failed,
subscription_contracts/cancel when the status turns to cancelled, and
subscription_contracts/pause when the status turns to paused.
More information on webhooks can be found here