During the implementation of #283 I observed that pathlib instances are created in the Sphinx configuration.
Affected path needs.external_needs[0].json_path.
Those can not be reflected in a declarative configuration such as TOML.
Paths should be stored as strings to be loadable from external TOML files.
It also makes sense for configuration pickling that Sphinx does for incremental builds.