WireGuard is inaccessible from the internet

I have a MT hAP ac3 at home, that I would like to use as a VPN as well. I have routerOS 7.1.1 and I would like to use WireGuard as it looks like the simplest and most performant solution. My ISP provides a public IP using PPPoe, and I was able to port forward other services from my network, but wireguard just don’t seem to be work for me. I included a network diagram for my setup, and my config. Thx for all the help!

# jan/30/2022 19:13:08 by RouterOS 7.1.1
# software id = 359J-7G3V
#
# model = RBD53iG-5HacD2HnD
/interface bridge
add admin-mac=<hidden> auto-mac=no comment=defconf name=bridge
/interface wifiwave2
set [ find default-name=wifi1 ] channel.skip-dfs-channels=10min-cac configuration.country=<hidden> .mode=ap .ssid=\
    "<hidden>" disabled=no security.authentication-types=wpa2-psk,wpa3-psk
set [ find default-name=wifi2 ] channel.skip-dfs-channels=10min-cac configuration.country=<hidden> .mode=ap .ssid=\
    "<hidden>" disabled=no security.authentication-types=wpa2-psk,wpa3-psk
/interface pppoe-client
add add-default-route=yes disabled=no interface=ether1 name=pppoe-out1 service-name=<hidden> use-peer-dns=yes user=\
    <hidden>
/interface wireguard
add listen-port=13231 mtu=1420 name=wireguard1
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/ip pool
add name=dhcp ranges=10.111.111.200-10.111.111.253
/ip dhcp-server
add address-pool=dhcp interface=bridge name=defconf
/zerotier
set zt1 comment="ZeroTier Central controller - https://my.zerotier.com/" disabled=yes disabled=yes name=zt1 port=9993
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=wifi1
add bridge=bridge comment=defconf interface=wifi2
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface detect-internet
set detect-interface-list=all
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
add interface=pppoe-out1 list=WAN
add interface=wireguard1 list=WAN
/interface wireguard peers
add comment="iPhone 11" endpoint-port=13231 interface=wireguard1 public-key=\
    "<hidden>"
add comment="MacBook Pro 16" endpoint-port=13231 interface=wireguard1 public-key=\
    "<hidden>"
/ip address
add address=10.111.111.254/24 comment=defconf interface=bridge network=10.111.111.0
add address=172.16.16.1/24 interface=wireguard1 network=172.16.16.0
/ip cloud
set ddns-enabled=yes
/ip dhcp-client
add comment=defconf disabled=yes interface=ether1
/ip dhcp-server network
add address=10.111.111.0/24 comment=defconf dns-server=10.111.111.254 domain=local gateway=10.111.111.254 netmask=24
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=10.111.111.254 comment=defconf name=router.lan
/ip firewall filter
add action=accept chain=input comment="enable WireGuard" dst-port=13231 protocol=udp
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related hw-offload=\
    yes
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
add action=dst-nat chain=dstnat dst-port=6881 in-interface=all-ppp protocol=tcp to-addresses=10.111.111.10 to-ports=6881
add action=dst-nat chain=dstnat dst-port=6881 in-interface=all-ppp protocol=udp to-addresses=10.111.111.10 to-ports=6881
add action=dst-nat chain=dstnat dst-port=13231 in-interface=all-ppp protocol=udp to-addresses=10.111.111.254 to-ports=13231
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www-ssl certificate=fullchain.pem_0
set api disabled=yes
set api-ssl disabled=yes
/ipv6 address
add address=::1 from-pool=<hidden> interface=bridge
/ipv6 dhcp-client
add interface=pppoe-out1 pool-name=digi request=address,prefix
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=33434-33534 protocol=udp
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp \
    src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=input comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=forward comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
/ipv6 nd
set [ find default=yes ] disabled=yes
add advertise-dns=no interface=bridge ra-delay=0s ra-interval=3m-6m ra-lifetime=10m
/ipv6 nd prefix default
set preferred-lifetime=30m valid-lifetime=33m
/system clock
set time-zone-name=<hidden>
/system leds
set 0 disabled=yes
/system leds settings
set all-leds-off=after-1min
/system routerboard settings
set cpu-frequency=auto
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN

network-stack.png

From a really quick look…
You should add the Phones IP address, 172.16.16.2, in the Wireguard’s allowed IP addresses… Supposing you have setup the Public keys successfully in both devices.
Also, the NAT rule where you dst-nat the port 13231 is not needed in your case… remove it…
After these changes, can you at least ping the Wireguard’s server IP address 172.16.16.1 from the phone ?

If not, then what are the peers configured in the Phone ?

Also you can take a look in this article from @anav https://forum.mikrotik.com/viewtopic.php?t=182340

Additionally, you have WG interface added in WAN interface list, so any connection from WG client to router or LAN will be blocked by firewall.

And on the iPhone add ip address of WG server as allowed address (or 0.0.0.0/0 if you want to route everything there).

See article F. - https://forum.mikrotik.com/viewtopic.php?t=182373

noted by others - wan interface NOT!

The rest is best left to you reading…