L2TP needs ALG on cgnat gateway, it does not work as is over any NAT. You can ask your provider to enable it, but dont expect them to feed insecure vpn in any way.
Zerotier and tailscale use wireguard.
Try OpenVPN? At least that you did not mention.
Can openvpn provide layer 2? Reason i did not try setting up in my openwrt was openvpn android version is unable to handle tap device when i tried with softether. I loaded the openvpn config into my phone and it did not load the config
I can access all my devices when I was using L2TP before but now because of CGNAT, Some of my devices are not seen through zerotier and tailscale which i believe are operating as Layer 3.
L2TP is IP UDP on the outside of tunnel. It was originally intended for use directly on the Internet, but since the contents of the packets are not encrypted it is almost always sent through another tunnel which is a true VPN. Any VPN tunnel supporting layer 3 inside would work. It doesn't need to be a L2 bridge.
Maybe for others Layer 3 is fine but in my case it does not. My device needs to be on the same subnet when connecting to work some devices remotely. Even if i set the device to static on the same subnet to the device connecting remotely or vice versa, still does not work. Only way to connect is when I am connected to the same router
You can tunnel L2 over ant L3 tunnel witl L2TP or gretap. If you need full frames most vpns dont need to encapsulated in single packet, so at some added latency you get "local subnet" across the internet.