Wireguard. You will need to create a connection for each router pair to make a site-to-site connection. Then add routing tables/rules to make sure that traffic between LAN’s goes over the correct wireguard tunnel.
So you would have one incoming tunnel with two clients and two outgoing tunnels with one connection per network. Also think about #1 why you are using a AWS VPS for wireguard if everyone is already running openWRT and #2 how you will handle maintaining the connection if everyone is on a consumer ISP that doesn’t provide static IP addresses.
I am trying to connect all 3 openwrt routers to a vpn that is located on a server in the USA. this is because I want all of us to have security as well as the ability to avoid geo blocking. I want us to be able to access streaming services in the USA.
We do not have high-bandwidth connections. from what I understand vpn companies are being blocked by streaming services. Also I dont want to pay for three different vpn accounts
Am I wrong in assuming this can be done by using a vps located in USA and connecting to it using a vpn
Well in that case then easy enough. I would still uses wireguard and then just connect all the home LAN to the VPS and then use it as the exit node. If openwrt supports tailscale that might be the better option for what you are doing here.