Can you try with the expression in the context file like I described in my previous answer ?
I think there is a problem with matrix definition inside the expression, because the ; operator has another meaning for the application : concatenation, the expression
-exp "exp1 ; exp2"
will concatenate the results of exp1 and exp2 in the output image. This can be useful, but this means that matrices cannot be defined on the fly… This is a bug and I opened an issue on otb Gitlab ( https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/issues/1975).
Anyway, in your case it should work with the context file.
Cédric