"...for most hosting companies domains are a loss leader, not just in the registrations costs but the support costs for them"
A .co.uk cost £3.75. 123Reg charge £7.99 -> £9.99.
The service is automated.
That is at least a >100% profit per domain. Support costs per domain are low, most people register and manage them themselves.