What do you mean by "hardcode the IP to wireless devices" - you mean no NAT, just have public-internet-addressable addresses for every device in your house?
Because DHCP and NAT are two separate things, you seem to be describing "not using DHCP."
NAT is when your internal network uses a non-publicly-routable set of addresses like 10.x.y.z, 192.168.y.z, or 172.x.y.z. Unless you're on an IPv6-only network (which is extremely unlikely, since many public websites are still IPv4 only, so wouldn't load,) you are almost certainly using NAT with an internal non-routable address space. So your DSL/cable/fiber modem/router would have a public internet address of 256.128.64.32, (fake address, not even possible, but using an example that won't be someone's actual address.) Then your router takes all incoming/outgoing connections to/from the computers inside your network, and gives the internal computers a non-routable address that is only good inside your network. Let's say 10.0.0.2 for your main PC, 10.0.0.3 for your laptop, 10.0.0.4 for your mobile phone, etc. Since you only have one "public" internet address, assigned to the router, the router has to do Network Address Translation to deal with internet traffic to/from your network. That is how all home internet routers work. So if you want to reach Google's DNS servers, at the public-internet-address 8.8.8.8 (its real address,) your router says "okay PC 10.0.0.2, you're asking to connect to 8.8.8.8. I'm going to send the request out to Google now with a tag of 'A'." Google says "I got a request from 256.128.64.32 with a tag of 'A', I'm going to reply to 256.128.64.32 with the data requested, with the tag 'A'." Your router added that tag so when the return request comes back, the router will know which internal computer to send it to. "Okay, I got the result from 256.128.64.32 with tag 'A', that's for the internal computer I call 10.0.0.2." That's NAT.
DHCP is the act of automatically-assigning those addresses when a device connects. Not using that would be "hardcoding the IP" per device, as you describe. Because 10.x.y.z, 192.168.y.z, and 172.x.y.z are "non routable" it means there are no computers on the public internet with those addresses (only part of the 'x' for 172 is non-routable, there are some public internet computers that start with 172.) That's how my home network can have a 10.0.0.2, my work's network can have a 10.0.0.2, the coffee shop down the block can have a 10.0.0.2, and your house can have a 10.0.0.2. Because they all have different PUBLIC internet addresses (like my fake 256.128.64.32, or Google's real 8.8.8.8, or Level 3 communications' 4.4.2.2, or 23.47.169.85 (one of the many servers that responds to "www.microsoft.com")) All the home/work/coffee shop networks have routers that translate a single public IP address in to many non-routable "private" addresses.
Only DHCP only takes any form of performance hit the very first time a device connects to a network, as the device has to find out what address it should take.
NAT is what basically every network on the planet uses, since there aren't enough IPv4 addresses to go around. If you aren't using NAT, then you only have one computer at home, and it doesn't have good internet security. Yes, it does have a slight performance hit over direct-connection where you have a public internet address
I worked for both Time Warner and Comcast in their NOC. I just might know how all this works, so I'm gonna skip all you wrote.
NAT takes place with DHCP. My comment was that by disabling DHCP and assigning static IPs (addresses are generally dynamically assigned with DHCP), less work needs to be done by the router and you'll see improvement in speeds within your network.
You're still assigning internal addresses.