Ok so it was JMeter. On the HTTP Sampler we need to set Content encoding to UTF-8. Funny enough this doesn't actually change anything in the HTTP headers. But the character now comes through correctly...
Key: Connection, Value: keep-alive
Key: Content-Type, Value: application/json
Key: Content-Length, Value: 254
Key: Host, Value: localhost:18081
Key: User-Agent, Value: Apache-HttpClient/4.5.3 (Java/1.8.0_131)
Keeping in mind that the API should work with as many clients as possible... Should I imply to the client that Json strings are UTF-8 or should I be telling them to encode to \u surrogates? The latter seems very Javaish.