They say that you are allowed to define utility functions however you want, but that doing so broadly enough can mean that “X is behaving according to a utility function” is no longer anticipation-constraining, so you can’t infer anything new about X from it.
This and this are decent discussions.
So it seems i have understood correctly and both of those say that nothing is outlawed (and that incoherence is broken as a concept).
They say that you are allowed to define utility functions however you want, but that doing so broadly enough can mean that “X is behaving according to a utility function” is no longer anticipation-constraining, so you can’t infer anything new about X from it.