You have a multiple NAT issue. There are two causes of this:
Two or more routers in the home network - eg an ISP ‘modem’ (which is a router as well) or an Mesh WiFi system connected to an ISP router and misconfigured.
Your ISP may be using CG-NAT.
These two causes are not mutually exclusive - ie you may have two routers and an ISP that uses CG-NAT
You definitely have the first issue. I can tell because the ‘router_external_ip’ address is 192.168.1.1 whilst the Roon Server ip address is 192.168.0.138. These are both private ip addresses that will not be used or issued by an ISP but they reside in different subnets. Thus, I can tell that you have an ISP modem/router between the TP-Link router to which your Roon server is connected and the internet.
If have helped other people with the same issue as this - the most recent is my reply at:
This reply is to someone using a Fritzbox rather than the TP-Link router - but that is just detail. The solutions to the issue (including the ‘cover all situations’ Tailscale solution) will work equally well for you.
@Wade_Oram is correct. There are two NAT layers between your RoonServer and the internet. You’ll need to create an identical TCP-protocol port forwarding rule in both router settings pages that points to the IP and port number from Roon Settings.
Alternatively, you can use Tailscale for ARC, which will bypass the need for port forwarding entirely.