You've found an affordable setup that works, which is good. I tried something like this several years ago and also failed. Here's some of what I remember. I haven't passed by these forums much for ages, bit of a coincidence this was mentioned on the main site this morning
Back in the day, I had the same goals, and similar kit (TP-Link W99x0 even, and various others too). Lots of things tried, none succeeded for more than half a day or so, problem went away when I moved house, and in the intervening years I've read about why this may have failed. And then forgotten much of it again.
As it turns out it's not specific to any particular kit but it may depend on specific capabilities in the kit.
Basically things like this get complicated. They may appear to work some of the time, and then fail for no apparent reason. Some of it is to do with caching, other related factors involve the packet header formats on an 802.11 WLAN which are not the same as in the hard-wired world.
There are various caches in software and in hardware that may be involved in this picture, e.g. a switch will have a cache of what MAC addresses are on which of its ports, various devices may have a cache of what MAC addresses need to be used for what IP addresses. Sometimes things drop out of caches e.g. after a reset or sometimes just after a timer expires. This means that the same config may appear to behave differently at different times.
Most things work just fine in an environment where eveything is using actual cables. Add a single WLAN (single AP, multiple client devices) with no intermediate "hops" and that should usually work just fine too.
Add an extra "hop" to the picture and things on the WLAN can start to get complicated because sometimes there can be intermediate boxes that don't know where to forward incoming traffic.
At this point you *might* want to look elsewhere to read about "three address wifi packet format". There's also a "four address" format.
To make things like this work as you and I wanted, your WiFi gear needs to support the WiFi packet formats which allow three (or maybe even four) MAC addresses in the WLAN packets. Without the extra MAC address, there will be times when data arrives at an intermediate box (switch, AP, router, etc) and the box doesn't know where to send it next. Unhappy punter at this point. Or something like that.
The extra MAC addresses in the WLAN packet, which are also seen if the WLAN supports WDS, avoid this situation.
That's what I remember of the fundamentals, and there's probably more to it (such as proper choice of IP addresses, and goodness only knows what happens if you want to play IPv6).
Anyway hopefully you're sorted for now.