Are you sure that:
1. You changed all the values for captive portal (http/https/altenative etc.)?
2. Your AfWall+ has being configured to prevent "boot leak"?
I have Android 9 and for my device I have had no leaking (all requests goes to my URL).
Also AfWall+ in my case is able to allow only a banch of services (10 or so) in order for the NetworkLocation (and this is what causes the x-symbol to appear) to have network access. Also enabling "Apps with root access" is not a good idea. May be there is some manual way to tweak AfWall+ rulles to enable only certan IP addresses for the selected application?
Another question I have for
@dhacke
Can we add this to build.prop in order to set it up permanenty and not just till the next reboot. I imagine we can use some boot script but it seems to be out of Android way of doing things...