Should richsnippets in JSON-LD format contain info that actually is not listed on the page?
For example, I have an article that actually is displaying only the content and the author name. But in the JSON-LD richsnippet I've added additional publisher info like url, logo, email, telephone, etc.
Is the above example a good practice or should be avoided and add only those props that actually exists on page?
That’s fine from the viewpoints of Schema.org and JSON-LD. More data is better. And anyway, there’s not always a webpage, or a webpage with visible content, to begin with.
Specific consumers of your data (like Google) might not like it, though (but discussing their guidelines/preferences is off-topic on Stack Overflow).