according to the docs at the link above, the iOS banner/alert is supposed to appear even when the app is closed, but to clarify on your question, i tested on all scenarios, spanning 2 days:
foregrounded and backgrounded scenarios successfully trigger expo’s addListener method (expected), but all 3 scenarios fail to trigger iOS’s listener and display a banner or alert prompt notification (not expected)
However, around 2am last night while I was sleeping, iOS did finally display a very small percentage of the number of requests I sent out. So either these requests were queued up and backlogged by Expo, or they were queued/backlogged by Apple. I suspect it was Apple though, not Expo. I suspect Apple was doing some throttling, but 1 or 2 days late? That seems excessive, especially when I am setting ‘priority’ to ‘high’. I am now setting TTL to 48 hours to account for this, but for many push notifications, if they are not timely, they lose their importance and relevance. This still does not address the issue that only a small percentage of requests are triggering iOS’s notification listener.