Search for AP (Access Point Mode) on routers.
Basically, your config, like this:
ONU-LAN-TP-LINK-LAN-DLINK
Would cause one problem.
The ONU will have its IP (static or CG-NAT) from your ISP.
It will create a LAN for local clients (let's say 192.168.1.X)
If you connect the TP Link router's WAN port to ONU's LAN port, It will get IP (let's say 192.168.1.2) from the ONU. If the TP Link router does not support AP mode, it will create another local network (let's say 10.0.0.X).
Now if you connect the Dlink router's WAN port to TP Link router's LAN port, it will get IP (let's say 10.0.0.5) from TP Link router. If this router also does not support AP mode, it will create another local network (Let's say 20.0.0.X).
All devices will get their local IP depending on which connected WiFi they are on.
If you want to access a device connected directly to ONU's WiFi (With IP 192.168.1.99) from a device connected to other routers (IP 20.0.0.55), the requests would fail.
This is an example of double-triple-quadruple NAT-ing.
In an ideal world, you would only have the ONU assigning IP addresses to all clients irrespective of device they are directly connected to. This is exactly what happens if you put the subsequent routers in AP mode.
One suggestion:
Try connecting cables between LAN ports of all routers. (For example ONU's LAN1 port -> TP Link LAN1 port & TP Link LAN2 port -> Dlink LAN1 port)
This might make them act as switches with access point.
You can use different 2.4GHz WiFi SSIDs depending on where each router is located (like WiFi_Bedroom1, WiFi_LivingRoom, WiFi_Bedroom2)
TLDR:
All of this would not bother me if I am only using the config for accessing internet (Not trying to connect between two machines on internal network, or forwarding ports, or enabling UPnP etc). Otherwise you are creating a very complex network which will give you issues.