Built a minimal test project and attached it to FB24689594 (ATTPromptProbe, one Swift file, no dependencies, no app UI in front of the prompt). The request is issued from a button tap, so the app is active by construction.
Result on iOS 27.0 beta 8 (24A5430a), trimmed of unrelated system logging:
system version: Version 27.0 (Build 24A5430a)
status at launch: notDetermined
---
applicationState before request: active
status before request: notDetermined
returned notDetermined after 0.002s
status after request: notDetermined
advertisingIdentifier: 00000000-0000-0000-0000-000000000000
---
applicationState before request: active
status before request: notDetermined
returned notDetermined after 0.009s
status after request: notDetermined
advertisingIdentifier: 00000000-0000-0000-0000-000000000000
Two things this settles. The call returns in 2 ms and 9 ms, which is not the timing of a prompt that was presented and dismissed: nothing is displayed at all. And the second block is the "additional call" that requestTrackingAuthorization(completionHandler:) instructs an app to make when the status is still notDetermined; it behaves identically, and so does every subsequent attempt, so the documented remedy has no effect on this device.
On the documented preconditions, the same page lists them explicitly: "Calls to the API only prompt when the application state is UIApplicationStateActive. The authorization prompt doesn't display if another permission request is pending user confirmation. Concurrent requests aren't preserved by iOS, and calls to the API through an app extension don't prompt." None of them apply here: the app is active, no other permission request is pending, this is not an app extension, and there is a single request per tap.
The same behaviour occurs in unrelated third-party App Store apps on this device, which this test project cannot influence, so whatever is preventing the presentation is not specific to our code.
The single most important finding: the only variable that changes the outcome is the Apple Account. Same device, same physical location, same build 24A5430a, same test project, no other change: signed in with an Italian Apple Account the prompt is never presented and the status stays notDetermined, while signed in with a Spanish Apple Account the prompt is presented correctly and the returned status reflects the user's choice. Nothing in the app, in its Info.plist, in the app state or in the device settings differs between the two runs.
So the question from my original post stands, and it is the only one I need answered: is it expected on iOS 27.0 that requestTrackingAuthorization() never presents the ATT prompt for an Italian Apple Account while presenting it normally for a Spanish one, leaving the status permanently at notDetermined? If this is expected behaviour, please point me to the reference that documents it, because none of the conditions listed in the requestTrackingAuthorization(completionHandler:) documentation or in https://support.apple.com/en-us/102420 apply here, and an app has no supported way to tell this state apart from "the user has not been asked yet". If it is not expected, then it is a bug, and FB24689594 contains the test project and the full details.