Well, from what I have been able to find,
The Open Group only defines the sort order for the
C and
POSIX locales, which is to strictly follow the ASCII ordering, and that is what we currently have for
en_*. Linux may actually be the broken case here, unless you can point at a UNIX standard which FreeBSD is not following. In the absence of an official specification for it, it makes good sense to me that latin locales use the
POSIX locale as a baseline.
Linux not exhibiting the same behaviour, on its own, is most certainly not sufficient evidence that FreeBSD is doing something wrong, as FreeBSD has never set out to reproduce the behaviour of Linux (quite the opposite, really; Linux often (but not always) tries to reproduce the behaviour of UNIX).