Please try these settings for the iPhone 13 issues, with an otherwise bare-bones configuration:
# Common Options
option rsn_preauth '1'
option ieee80211w '0' #default
option dtim_period '3'
# Encryption Modes
option encryption 'psk2+ccmp'
# WPA Enterprise (despite the name, some of these settings apply to PSK as well)
option wpa_group_rekey '3600'
# BSS transition management frames options (802.11v)
option time_advertisement '2'
option time_zone '<cat /etc/TZ and put whatever is there here>'
option wnm_sleep_mode '1'
option bss_transition '1'
# Fast BSS transition options (802.11r)
option ieee80211r '1'
option mobility_domain '2222'
option reassociation_deadline '20000'
option ft_over_ds '0'
option ft_psk_generate_local '1'
# Inactivity timeout options
option disassoc_low_ack '0'
option max_inactivity '300' #default
option skip_inactivity_poll '1'
Ensure NTP is configured and running on your AP.
Do not enable the 802.11k features unless you are using a daemon that configures neighbors for you (DAWN, usteer, etc.). For troubleshooting it is probably best to leave it disabled.
The DTIM 3 is super important. Apple devices do not support DTIM lower than 3. This can cause numerous problems if not set. The reassociation deadline is also important -- the default value is not in line with industry standards.
Do not set or change max_inactivity. After applying configuration, ensure "uapsd_advertisement_enabled=1" appears in /var/run/hostapd-phy*.conf. The station's request to retrieve packets after power save should be sufficient to keep the inactivity timer at bay without the AP having to poll manually.
If this does not work, try turning ft_over_ds back on.
If that doesn't work, disable IPv6 completely on your network, and see if there are any improvements. If the problem goes away with IPv6 disabled, you will need to tweak your router advertisement / DHCPv6 configuration, and that's another whole can of worms.
Some device manufacturers (especially Google) force more aggressive power saving mechanisms in firmware, such that router advertisement packets can end up being ignored. When this happens, IPv6 leases / firewall state can be interrupted. This is technically a violation of the standard, but the work-around is to increase RA interval settings.
Please report back with your findings. The above settings work well for iPhone 13 on my AP.