I think your confusing forwarding with DNS - which you might consider to be similar, but are pretty vastly different.
(At a very basic level)
DNS or domain name servers match up your name to an IP - ie: hashnode.com with 138.91.161.180 - so you request hashnode.com in your browser, the browser looks up the name, gets the ip, and makes all future requests to that IP until it's told otherwise.
Forwarding in a router is when multiple protocols or services for a given IP can point to multiple servers. So for this example - I might want to run an SMB server, a SSH server and FTP server on 3 physically separate servers, but I want all of them to point to hashnode.com. Forwarding might say - ok, anytime a request comes through for hashnode.com:21 (ftp) - forward it to this server (internal IP), :22 (ssh) forward to the 2nd server (internal IP) and SMB (forget the port off the top of my head) forward to the 3rd server (internal IP).
Again, the router stays in control at this point and handles all future traffic.
You could very well point a specific service to a specific IP - you'd see this with MX records. Now a days, 1 server doesn't run the whole show, we break them into multiple servers. So while server 1 might handle hashnode.com / www.hashnode.com DNS might specify Server 2 handles mx.hashnode.com (for email) - then, if all the servers are in the same building / ISP IP address, a router would say - ok, when an pop / imap / smtp request comes through, send it to a specific server.
So - DNS gets you to the right IP / organization, forwarding is the last mile if you will; it takes you from the organizations IP to a specific machine.
Like I said, this is a very high level / simple view of whats happening, and what happens at an actual ISP is much more complex.
(someone please correct me if I'm wrong)