You make an interesting point, but what you describe is about the only sense in which I'd respect calling Forth opinionated. In every other sense, walking into a new Forth application is potentially like walking into a new language.
As a good example of how unopinionated it is, here are the jonesforth implementations of the IF and THEN words:
: IF IMMEDIATE ' 0BRANCH , HERE @ 0 , ;
: THEN IMMEDIATE DUP HERE @ SWAP - SWAP ! ;
Don't need those words? Don't implement them and make your own branching abstraction. Feel like you spend too much time juggling the stack? Implement named parameters and local variables. Need records or structs? Do it. Need an object system? Go for it.