The issue was that lamps were not tagged with ID_RECALC_SHADING when they were updated from drivers. As a result, Cycles considered the lamp as unchanged. This is resolved by having a (seemingly non-functional) callback in a new LIGHT_UPDATE depsgraph node.
This patch unconditionally adds the LIGHT_UPDATE node + the relation from the lamp's PARAMETERS node.