StoreKit 2: Does Transaction.currentEntitlements get updated when my app isn't running?

TL;DR:

Does iOS automatically receive App Store transaction updates in the background when internet connection is available so the backing storage state of Transaction.currentEntitlements gets synced even when my app is not running?

Or does iOS update Transaction.currentEntitlements only when my app is running?

The long version:

Imagine the following situation:

  1. A user has purchased a non-consumable IAP in my app and is granted the locked premium content. The IAP transaction is now present in Transaction.currentEntitlements (it's also cached locally).

  2. The user blocks internet access every time before my app gets opened (either enables the Airplane mode and/or disconnects from the Wi-Fi before launching my app). So from this point on, my app never gets a chance to connect to the internet.

  3. The user gets refunded for the IAP.

  4. The user uses their iPhone to browse the internet via Safari, checks emails, etc. Then, before launching my app, the user blocks internet access.

  5. My app gets is launched (without internet access) and reads entitlements from Transaction.currentEntitlements.

The question is: does the StoreKit service know that the IAP has been refunded? Did iOS update the local cached storage of Transaction.currentEntitlements while the user was connected to the internet in step 4?

Or will Transaction.currentEntitlements contain the old state from step 1 so the app won't know about the refund and the user will be able to use my app's premium content which has been refunded by now?

Is the behavior the same for auto-renewable subscriptions as it is for non-consumable IAPs?

StoreKit 2: Does Transaction.currentEntitlements get updated when my app isn't running?
 
 
Q