I worked out this issue by using a current mirror. Basically, an NPN pair wired up to send a very small current to the LED, not enough to light it. The mirror output would swing enough voltage that it could be sensed with a GPIO. Once my diags were done I turned off the current mirror so even the phantom sense wasn’t present. I did it this way as I didn’t have an ADC available and I was very short on GPIOs.

If you have an ADC, you can measure the FET drain voltage with the FET ‘off’. Toggle the FET on then off to discharge the drain, then quickly sense the drain voltage afterward. It will stay at 0 if the LED is unconnected, or drift up towards Vcc with the LED present as the LED leakage bleeds off charge. This sensing method poses a couple of difficulties however: ADC input range, and input impedance loading the circuit when the driver FET is 'off'.

What to do then? Forget the ADC.

Finally: the easy way. Use a low-threshold nFET like a BSS138 to watch the driver drain. Hammer the driver, check the FET state immediately afterward. If the sense FET stays off, no LED; if it turns on, LED is connected. Try it, here:

<!-- Begin schematic: In order to preserve an editable schematic, please
     don't edit this section directly.
     Click the "edit" link below the image in the preview instead. -->

![schematic](https://i.sstatic.net/NiY7Y.png)

<!-- End schematic -->

This circuit takes advantage of the fact that there's a bit of capacitance present on the driver FET and the trace. The sensing FET doesn't load this, and so can detect the driver drain off-state charge with the LED present or absent.