Also fixes bug where error code wasn't returned.
Also fixes bug where user's preferences were being
overwritten with each job.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20436
(cherry picked from commit d2b3f8ba2805414c78ae1f154fe548176e313ef5)