Windows and macOS pop up the default browser (or on macOS, a webview) with the captive portal when they detect one. iOS doesn't have windows, so if it wants to get the user to do the captive portal without them sitting there in confusion it has to pop it up. It could pop a notification, but if the user misses it (as one could, with all the notifications that come in these days), then they are stuck.
0: https://support.apple.com/en-us/HT205296 (which has kicked in for me sometimes when my LAN doesn't have internet for whatever reason)