If you're talking about a single product/project and a single pool of developers, I would strongly recommend having just one product backlog with all the items you mentioned included in it. Having two backlogs will be an admin nightmare, and I'd imagine that you and the product owner will be fighting for resources to work on your respective backlogs.
If your user stories are expressed in terms of their business value, you should have no problems getting them planned into sprints. I am currently scrum master on a project with user stories like:
- As a developer I want to rename tables and columns to reflect a recent change in business terminology so that it is easy for new developers to understand the system.
- As a developer I want to implement improved logging of errors so that I can more easily diagnose problems reported to me.
- As a sysadmin I want the spurious errors filling up the system's logs to be eliminated so that log noise doesn't prevent me from identifying problems.
If your product owner still refuses to include any of these in a sprint even when expressed in non-technical language and in terms of their business benefits, then perhaps you have the wrong product owner.
If you find yourself in that unhappy position but aren't able to change the product owner it might be useful to remind them that every system needs maintenance. I've also found describing the concept of technical debt, and how it always needs to be paid off at some point, a helpful analogy.
Lastly, you may find that some of those finer technical points which aren't currently being done should in fact be part of implementing the features your product owner wants. Building on some of your examples above, I would say that the user story to implement start-up animation wasn't properly completed if it has "quirks", whether visible or not. Likewise if you have standards for static code analysis metrics then a user story should only be considered done if the developer has used Lint to measure those metrics and proven that the code meets your standards. If these are generic standards they should be in your definition of done. If they are user-story-specific points then they can be conditions of acceptance on the user story.