You suggested "If the maximum block weight is set to 2.7M, each byte of
non-witness block costs 1.7", but these numbers dont work out - setting
the discount to 1.7 gets you a maximum block size of 1.7MB (in a soft
fork), not 2.7MB.

Yes. In a soft-fork is true.
I was thinking about what a HF could do to optimize the balance, and I forgot I was in the context of a SF.