sempre pp. Since dynamics are usually centered under the note, the \pp would be displayed way after the note it applies to.
sempre pphorizontally, so that it is aligned as if it were only the \pp, there are several approaches:
\once\override DynamicText.X-offset = #-9.2before the note with the dynamics to manually shift it to the correct position. Drawback: This has to be done manually each time you use that dynamic markup...
#:hspace 7.1) into the definition of your custom dynamic mark, so that after lilypond center-aligns it, it is already correctly aligned. Drawback: The padding really takes up that space and does not allow any other markup or dynamics to be shown in that position.
\once\override ... .X-offset = ... Drawback:
\once\overrideis needed for every invocation!
#:with-dimensions '(0 . 0) '(0 . 0)). Drawback: To LilyPond
semprehas no extent, so it might put other stuff there and create collisions (which are not detected by the collision detection!). Also, there seems to be some spacing, so it's not exactly the same alignment as without the additional text
DynamicText.X-offset, which will apply to all dynamic texts! Also, it is aligned at the right edge of the additional text, not at the center of pp.