I'd flag the expression with
alwaysProcess="true"
and change PostCommon.java so that the method parseDefaultRequiredBBCode is always applied, i.e. move
text = parseDefaultRequiredBBCode(text);
from prepareTextForDisplayExceptCodeTag to the preparePostForDisplay as
post.setText(parseDefaultRequiredBBCode(post.getText()));
To me it also seems like a mistake/at least it is unintuitive that there is a "alwaysProcess" flag and method that contains "requiredBBCode" - but then it is not always applied.
That being said: Note that with the bbparser, the badword will still be stored to the database.