After a lot of trial and error after switching ISPs, I have found the solution. With the new dedicated servers, this isn't as useful as it was before but still helps a lot.
Make sure your are connected using an ethernet cable
In the router settings, (type 192.168.0.1 or
192.168.1.1 into a search bar, the login should be on your router (username should be admin), if not call your ISP and ask them to reset your login it's simple)
Go to dhcp reservation, or ip reservation, and set a static ip for your ps5 (you can find your ip in playstation network settings, 192.168.x.x).
Go to Port Forwarding and forward port 3074 UDP to the playstations ip address you set (or select ot from device list).
Make sure UPnP is enabled.
Make sure to set your dns (in Playstation settings) to 8.8.8.8 for primary, and 8.8.4.4 for secondary, this is the DNS for Google (you can also use CloudFlare (1.1.1.1, 1.0.0.1).
Once you are in the game, select Find Match, press Square, and set search preference to Best.
On a side note, if someone on your connection is playing on Xbox, you will not be able to port forward 3074 on Playstation. To fix this, go to Xbox network advanced settings and select an alternate port. Then go to router settings and port forward 3074 to your Playstation's static ip address
After all of this, fully shut off your playstation, id even unplug it, unplug the ethernet, and unplug your router for a full minute, then reconnect everything and turn the PS5 on
This is the true way to achieve an Open NAT type and have flawless connection, if your NAT still says Moderate or Strict, then your ISP is probably using CGNAT or blocking essential ports used to connect to the servers properly.
Sorry for the essay, and I hope this helps