Developer Team always has internal tasks (such as environment improvements, process improvements and so on). Sometimes they can be related with current project, sometimes not.
There is no problem, if these tasks are related with current project (for example, make Continuous Integration process for current project). Product Owner will have no objections for adding these tasks to Project Backlog and can set priority for all of them.
But what should we do, if these tasks are common and not related with current project (For example, we want to establish code conventions and use automatic code style checker in our process). Even if we will persuade Product Owner to add this task to Product Backlog, I am sure, he will set priority for this task as small as possible. And it has sense for him, because accomplishment of this task will not give huge benefit for current project. But in other side, it will give quality increase for Developer Team in current and all other projects (PO, of course, absolutely don't care about other projects).
And in general, I think it's not a good idea to add to Product Backlog tasks that does not related directly to the product.
But if we will not inform Product Owner about these things and not add them to Product Backlog, but doing them during Scrum, then Scrum well lose his transparency (one of three Scrum pillars, as Scrum Guide said).
So, what should we do with this kind of tasks?