Thanks for the link, that was very insightful.
I understood the question, how to pan a stereo signal to a stereo output.
If you copy the mono input and feed it to a stereo -> stereo panner, you can’t really blame the panning algorithm, that the power is different…
If you copy a mono signal into a stereo bus, you should apply the factor .707 on both channels, if you want to keep the power constant. If you do so, there is no issue, or did I understand that wrong?
EDIT: actually having thought about it again, the M/S variant could indeed take profit from your thought:
mSignal = 0.5 * (left + right);
sSignal = left - right;
float pan; // [-1; +1]
left = cos (0.25 * M_PI * (1.0 + pan) * mSignal + sSignal; // mSignal is sent to both channels * cos (45º)
right = cos (0.25 * M_PI * (1.0 - pan) * mSignal - sSignal;