I like it. I like the combination of do nice things on the user's behalf, while giving them the power to override easily. It's also pretty clear where the code slots in, so it's easy to remove as needed.
Looking at the notebook comparing luminance only vs yiq; I do think yiq is preferable. I see more "misses" with d3.lab vs yiq... even when I tweak the cut-offs for d3.lab. I think d3.lab would be totally fine, but if there is a better option available, why not just go with it?