If I understand correctly if I keep the default of 128 ports per port group I would run into a Max. 128 x 15 port groups = 1920. Then 1920 x 50 hosts = 96000.
Is my math correct, or does a port only get used when a VM is actually turned on and registered with vCenter?
No ... If you set the port group to have 128 ports, it is not further multiplied against the number of hosts. The hosts consume ports from that pool.
You can verify this by creating a VDS and adding hosts, then looking at the "summary" and "ports" tab.
Also is there any reason why a port group for vMotion, or Management network would need more that 8 ports? If it is one port per type of traiffc, if you have your vMotion on its own vmkernel, then only one port per host would be getting used?
The port group will require one port per vmkernel for each host. Keep in mind that prior to the 5.1 VDS the ports are static and non elastic. You will need to potentially up the value of the port count if further ports are needed.
With a 5.1 VDS, the ports are elastic and will automatically grow to a higher amount when demand increases.