Background
We ran into an issue with our Sitecore 9.1 and Publishing Service 4.0 environment where when a page item with a rendering was being published, the corresponding data source of the rendering was not published fully.
To be more specific, if the rendering referred to a data source item that had multiple levels of items, then only the root of the data source was being published but not the child items.
A good example would be a navigation rendering that had a data source item with a lot of children. Content authors were making updates to all the link items within Experience Editor, but they were not being published.
This was happening for both manual publishing and publishing through workflow.
Configuration Updates
In our research, we discovered that publishing service allows you to specify the templates of the items you wish to publish as descendants of related items.
Adding the following node to sc.publishing.relateditems.xml did trick (after a restart):
It is very important to note that the the template nodes need to have unique names in order for this to work.
In other words: DatasourceTemplate1, DatasourceTemplate2, DatasourceTemplate3 etc.
So as you can imagine, if you want to include a lot of data source item templates, the list in your configuration can get extremely large!
Final Words
I hope that this information helps developers who face a similar issue, as I could not find anything online about this related publishing configuration.
As always, feel free to comment or reach me on Slack or Twitter if you have any questions.