GeoJSON output performs simplified string escaping, as it relies on the following:
OSM strings have already been cleaned up during import
But this is not true, only strings that are written into string tables are cleaned this way; rare strings are not cleaned.
Should spec be changed? See #94