Networking.nat not working as expected for nixos-container networking

I have port forwarding set up in nixos-containers and a wireguard interface wg0, and I am trying to set up networking.nat to nat the virtual interfaces from the containers to the wireguard interface to get internet connection in the containers over the wireguard.

The port forwarding works and I am able to access the services within the container from my host over the IP assigned to the veth pair. But I am unable to access the internet within the container.

Relavent config files are in: networking.nix and servarr.nix I thought that this would be sufficient to NAT the containers to the internet:

nat = {
  enable = true;
  internalInterfaces = [ "ve-+" "vb-+" ];
  externalInterface = "wg0";
  enableIPv6 = true;

The IP addresses for the host side look like this for one of the containers. Should it have this many IP addresses assigned to it? I defined a static ip as for the host side of the container, which is reflected below, but when i run a ping from within the containers, tcpdump on the host side says From icmp_seq=336 Destination Host Unreachable , which is the other IP for the interface. Is it possible that the NAT is not routing all of the assigned IPs for the interface and only routing them from the dominant IP, and if so how would I ensure all IPs get routed or that there is only the one assigned IP I gave it?

21: ve-jellyfin@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether --:--:--:--:--:-- brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet metric 2048 brd scope link ve-jellyfin
       valid_lft forever preferred_lft forever
    inet brd scope global ve-jellyfin
       valid_lft forever preferred_lft forever
    inet scope global ve-jellyfin
       valid_lft forever preferred_lft forever
    inet6 fe80::28f9:90ff:fee0:bc3/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever