iOS definitely still has issues with communicating over Xbox Live for LAN gameplay without NAT in 1.16.40. I was able to mess around with my router last night and now I can play LAN multiplayer with my brothers (one has an Android and the other an iOS). That shouldn’t have to happen, though. This is likely just a complication with iOS and Xbox Live, though, so I’m not sure how the devs would address this, especially if their higher ups are the ones making them use Xbox Live for multiplayer.
Whoops. I didn’t mention that I was using Wi-Fi. When I use cellular data, the same issue happens.
I’ve found that turning “background app refresh” off, through the iOS settings or through turning on low power mode, makes this happen. I haven’t had it happen once since turning low power mode off while running Minecraft. I’m not sure why it happens and why it works, though.
I’ve been playing on my iPhone 8 Plus and my brother has been playing on his old Samsung s5, and all I had to do to make LAN multiplayer work was to (1) make sure our Xbox Live accounts were friends, (2) opened ports for the LAN to work (port forwarding) in the first place, using the guides shown in “potential workarounds” at the top of this report and through googling how to do it with my router, and (3) making sure both of the accounts were over 18. I’m unsure if this only works for my devices and router (Netgear), so if someone else could try this with different devices and a different router, I’m sure this would be helpful to the mods and devs of Mojang, who are more than aware of the issue.