As given in the explanation, the specification is very clear on this. A null is converted to a 0 (Section 1.18.3). So the implementations are not compliant in this case.
Yes, Chapter 1.18.3 of specification states: "If A is null or "", return 0."
But, in case of null, this does not apply, as type conversion should not be executed at all.
Chapter 1.8.1 (about relational operators) states: "If A is null or B is null, return false"
Nevertheless, looks like Tomcat does not implement specification correctly, as in the case of question 2.864 value of requestScope['none'] is empty String and then conversion rule 1.18.3 should apply.
Is ${requestScope['none'] eq 0} the same as ${requestScope[none] eq 0} in this case, since [none] is evaluated to ""?
By the way, have you been able to access coderanch.com these day? I have not. Wonder what happened to it.
In case of requestScope['none'], the string "none" is passed as a parameter to requestScope but in case of requestScope[none], you are trying to pass the value of the variable named none, which, in this case, doesn't exist so it evaluates to null. So the end result is same but they are not exactly same.
Please see section 1.6 of EL specification for further details.