Thanks very much for those links, that was very helpful.
Ultimately I believe the problem was that lightdm was attempting to start before the graphics drivers were loaded properly.
For anyone reading this thread later, the way to fix this is to insert the line
logind-check-graphical=true
to the [LightDM]
section of the file /etc/lightdm/lightdm.conf
and reboot. This forces the lightdm service to wait for graphics devices be ready before attempting to launch the greeter, which solved the issue for me.
Hopefully this will help anyone else who has this problem in the future. Thanks everyone for your assistance.