That depends on what is meant with formatting argument.
To me, formatting arguments are "-b", "-l", "-o", "-p|-P"
Instead, I can use filtering arguments with --json, like "-u", "-p" etc. And I would assume, that -S, -E and -T are filtering options, not formatting options.
But as I explained before, not obeying to -T is bad behaviour. That is nothing I would call "broken".
But getting sometimes no steps for a job (if in a larger JSON-output with many jobs) and then getting the steps, if one asks specifically for that jobid. That is something I would call broken.
Best Marcus