My default DNS on my router is set to DynDNS. If I set the router as default DNS on my pc, it would use DynDNS as the DNS. Then what if I set Google Public DNS as DNS on my pc, and DynDNS on my router, which DNS will it use?
Your all-in-one-router (effectively also DNS+DHCP+Switch, etc.) is just a 'relay' device in this. It needs another DNS server to relay your DNS queries to and this is called a recursive lookup. PCs can 'ask' these DNS queries either to your router, or they can talk to another one on the internet directly if you want to, e.g.
The router might see the queries passing, but unless it intercepts it, it will just happily pass that as all other traffic you send into the world via it.