This is a misleading answer. I chatted with a StoreKit engineer and Transaction.updates is not useful for this at runtime. Expired subscriptions do not modify the transaction, so you do not get updates for expired transactions. You only see an expired transaction for situations like e.g. past transaction that expired and is included in the all sequence.
The recommended solution is to check currentEntitlements or iterate over all the Product(s) and check their subscription status.
Topic:
App & System Services
SubTopic:
StoreKit
Tags: