This is a common problem with tons of documentation on the web. A very informative discussion I've found on (1). Be aware that this problem only belongs to an access point (ap0) together with a wifi client connection (wlan0) to another remote access point (e.g. uplink to a router). Bridging an access point (wlan0) together with a wired interface (eth0) is possible.
In general there are mostly 3 ways you can "bridge" a wifi client interface.
1. real bridging on OSI layer 2 would be the best solution. But wifi needs additional information in the ip header for this. Many router uses this for WDS (Wireless Distribution System) (2) but need an additional address field enabled in the ip header. You usually can do this with:
rpi3 ~$ sudo iw dev wlan0 set 4addr on
But you will get the error message:
command failed: Operation not supported (-95)
that just means what it say. The built-in wifi device of a Raspberry Pi does not support it (6). So you have to look for workarounds.
2. NAT (Network Address Translation) on OSI layer 3. This is what you have found and tried to setup. An alternative setup you can also find at Access point as WiFi repeater, optional with bridge. But @Thomas Guyot-Sionnest commented (3):
4addr as described in other answers is certainly the best way when
supported by the adapter/driver, but not all of them does. NAT might
work for some things, but getting proper communication both ways on
the lan will become problematic (ex. connecting a printer or accessing
other IoT devices on the other side of the NAT). Anything relying on
broadcast/multicast (ex. auto-discovery, bonjour) will fail through
Seems you are running into this trouble. I think the best alternative is to use
3. Proxy ARP on OSI layer 3. I suggest you look at Workaround for a wifi bridge on a Raspberry Pi with proxy arp and try it because:
Using Proxy ARP permits the bridged clients to be part of the existing
network and supports bidirectional traffic, e.g. for a server or
printer. DHCP and mDNS will also work using the appropriate helpers (4).
 Bridging wlan0 to eth0
 Raspberry PI 3 MODEL B - Wireless Bridge to ethernet