The second default route is the problem. Your routing table shows:
default via 192.168.12.1 dev enp1s0 (metric 100) — correct, your WAN gateway
default via 192.168.99.1 dev enp2s0 (metric 101) — this should not exist
If 192.168.99.1 is this machine’s own LAN address (which it should be if this box is the router), then you have a default route pointing at yourself. That creates a routing loop for any traffic that doesn’t match the WAN route. Even if 192.168.99.1 is a different device, the LAN interface should not have its own default gateway since all outbound traffic should go through the WAN.
Remove it immediately:
sudo ip route del default via 192.168.99.1 dev enp2s0
Then to stop NetworkManager from re-adding it on reboot, check your LAN connection profile:
nmcli connection show "your-lan-connection" | grep ipv4.gateway
If it shows 192.168.99.1, clear it:
sudo nmcli connection modify "your-lan-connection" ipv4.gateway ""
sudo nmcli connection up "your-lan-connection"
The LAN interface should only have an IP address and subnet defined, no gateway. The gateway belongs exclusively on the WAN interface. Once that spurious route is gone, traffic from LAN clients should route correctly through the WAN default route to the internet.