Yup n=3 is the limit for IsStandard right now.
That isn't true. If you read the code, the limit is with the size of sigScript if you are using P2SH:
txin.scriptSig.size() > 500
Signatures are of length 72 bytes and public keys are of length 33 bytes (if compacted) so 4 of 6 is about the limit. I've managed 3 of 4 and it passed as a standard transaction.
Looks like you are right.
Actually I believe it is 10 bytes in encoding (DER) + 32 bytes for r, s, x, and y ea.
So for compressed keys the ScriptSig (r, s, x and encoding) is 106 bytes.
For uncompressed keys the ScriptSig (r, s, x, y, and encoding) is 138 bytes.
FLOOR(500 / 106) = 4
FLOOR(500 / 138) = 3