You misunderstand how NAT, specifically Destination NAT works and what problem it is designed to solve. It was the case for me for a long time and still is for many other topics. In network engineering details are crucial and creating a model of how things work without looking to the details leads to gigantic errors of judgment, especially in the troubleshooting phase.
The premise of DNAT is the scarcity of IPv4 address space. You have ONE public address on the wan side, and SEVERAL servers on the LAN side with local IPs. How can you make all of them publicly accessible with only one public IP address? You do DNAT using the ports to sort the traffic. The router has a rule for each port which allows to create a table whereby it know that incoming traffic to port 80 goes to 192.168.0.23 and incoming traffic to port 21 goes to 192.168.0.24. It keeps track of these two streams and does the necessary switching of traffic.
All this is not necessary at all to route traffic inside the LAN. If 192.168.0.23 needs to serve a web page to a client with the IP of 192.168.1.14, it just emits the packets with the correct source and destination written in the corresponding data fields and the router does not need to take notes and convert numbers, it just reads those numbers and switch the packets to the corresponding network. No DNAT involved.
As a final note, ICMP packets are not UDP or TCP, they have a different structure and the concept of PORT does not apply.