Router B is forming a new subnet
Technically, routers don't form subnets. All you need to make a subnet is a couple machines that are set to same subnet mask and connected to the same switch - you don't really need a router if you don't want this set of machines to talk to external networks or the Internet.
It's completely possible (but not usual at all without VLANs) for more than one subnet to be on a switch. DHCP is often used to automatically set computers on a switch to the same subnet - DHCP settings plus the IP/subnet setting of your router's IP is what "forms" the subnet in most instances.
Router B is acting as a switch (no routing functionality at all)
DHCP tells systems what the "default gateway" is - and this is what IP address that systems will send traffic to that is destined for the Internet. If no DHCP server is giving the second router IP out, and no system has its default gateway set to the second router IP, nothing is going to use it.
Connecting 2 switches (whether standalone or part of a router's "LAN" ports) enables all systems to see each other if their subnets match. The router doesn't need to be told anything for this to work, but the router's DHCP server should if you don't want to manually assign IPs and subnet masks.
No, you don't want two DHCP systems on the same switch or set of connected switches (unless they are working together in a failover configuration)
If Router A is connected to home media server, should I set up my router as a switch or as a router?
It's simpler and easier to simply use the switch of router B and disable DHCP/routing (you may not be able to disable routing but should almost always be able to disable DHCP) on router B.
Yes, you can connect a LAN port of router A to the Internet port of router B and make it so that any access to the systems "behind" router B need go through router B. Most routers support DHCP through WAN or Internet port as that's how a lot of cable companies work (Comcast assigns your router's WAN interface an IP using DHCP, for example).
You may want this if
you want to protect those systems from router A's LAN using router B's firewall functions.
you want to make it quite difficult (not impossible) for a system from the Internet to originate a connection to something behind router B.
This is typically overkill for typical home use.
Dynamic routing
This is used only if the number of routers on your network can change over time. It lets routers find other routers. You really only want 1 router (doing routing/DHCP) on your network if possible.