Which means one (more) thing for me to stop and study carefully
I think the simplest way of understanding the Boolean precedence rules is how Jensen & Wirth presented them in their Pascal report.
Basically (precedence-wise),
not is equivalent to the unary minus
and is equivalent to the multiplication operator (*)
or is equivalent to the addition operator (+)
The really significant difference between an arithmetic expression and a Boolean expression is that, in the case of an arithmetic expression it is normally necessary to fully evaluate it to determine the result. In the case of a Boolean expression, there are many cases/constructions where it isn't necessary to evaluate the entire expression to determine the result. IOW, in the case of Boolean expressions, partial evaluation is possible to determine the result, which is usually not possible in the case of arithmetic expressions.
As you and others stated, when in doubt, and/or for readability purposes, parentheses should be used. It's usually a good idea to use them when the expression contains a mix of and(s) and or(s). It makes the programmer's intention clear and the code logically cleaner.