I don't think that there's anything inherent about concatenative languages that forces them to be postfix. The Wikipedia definition (not authoritative, surely, but one we can all access) is:
> A concatenative programming language is a point-free computer programming language in which all expressions denote functions, and the juxtaposition of expressions denotes function composition.
As long as all functions are fixed arity—admittedly a serious limitation—there doesn't seem obviously to be any reason you couldn't write the function first (though of course it's fair to ask why you would want to).
I associate concatenative languages with stack languages, which means that the postfix syntax is obvious. But as the sibling comment mentioned, that doesn't necessarily need to be the case.