NAT, on its own, doesn't provide security. At best, it provides obscurity. At worst, it breaks security [2]. NAT needs a properly configured firewall to provide security [1]. In this sense, NAT vs a Firewall is a false dichotomy.
[1] https://tailscale.com/blog/how-nat-traversal-works/
[2] https://www.computerworld.com/article/2556611/nat-traversal-...
edit: formatting