Yes, this is required behavior. JSON defines JSON syntax.
If a literal \ is included in the data, it must be escaped. If it is not escaped, the JSON will not be valid. The “source system” must be able to accept escaped data if it supports JSON.
[Edit]: The only characters that must be escaped in string values are \
, "
, and control codes (anything less than U+0020). Other markup characters used in JSON do not need to be escaped in string values. But in any case, the built-in service that creates the JSON string does the right thing – so we don’t need to worry about it. 
As an example, consider the following IS document containing a single field named “foo” and the value “Same rule applies to every character({ } [ ] \ " ' :
)”
Note that in the resulting jsonString that \ and " are escaped, as expected/required.
#webMethods