No again.
The behavior you obtain in this way is just “something” about the relation between L and C, but it’s not “good”. At least is not what you obtain with other software that have such tool and it’s not what you obtain in GIMP by changing saturation with a layer mask based on luminosity.
Hard to me to explain.
HH or CC or even LL curve has a function y=F(x) and its neutral function y’=x it’s obviously a diagonal.
Now, which is the meaning of a diagonal where x and y are different and indipendent things?
This is well treated by LH and CH tools, made in the only way they can work.
Why not for LC and CL?
Which is the meaning of a (i.e.) 20,20 point where the y is C and the x is L?
A point with L=20 could have every values of C.
What I expect from a C by L tool is a C’=f(C) for each different value of L.
A curve C=f(L) does not have too much sense. Sure it has “a” behavior but not the one expected by a tool called C by L.
The evidence is that actually, in a 0-100 L scale, is not possible to decrease saturation for a 0 (do you prefer 1?) luminosity point, as it is not possible to increase saturation for a 100 (99?) L point.
I can’t explain better.