Kaj, This is how I approach your problem. It uses Devnull contexts to space the lyrics, and it makes use of the skip-of-length function to provide skips in the Devnull contexts.
With this method, you have to make some more variables and contexts, but you never need to count notes to or put skips in your lyrics. HTH, Carl \version "2.20.0" ta = \lyricmode { Not re -- peat -- ed. } tb = \lyricmode { The first time words. an -- oth -- er bar a sec -- ond bar the fi -- nal bar } tc = \lyricmode { Sec -- ond time words. } ty = \lyricmode { The alt two words } tz = \lyricmode { con -- tin -- ue on } firstMus = \relative {a'4 a a a} voltaMus = \relative {b'4 b b b} altOne = \relative {c'4 c c c | c c c c | c c c c} altTwo = \relative {d'4 d d d} lastMus = \relative {e'4 e e e} \score { << \new Staff { << \new Voice = "melody" { \firstMus \repeat volta 2 \voltaMus \alternative { {\altOne } {\altTwo} } \lastMus } \new Devnull = "mainlyrics" { \firstMus \voltaMus \altOne #(skip-of-length altTwo) \lastMus } \new Devnull = "extralyrics" { #(skip-of-length firstMus) \voltaMus #(skip-of-length altOne) \altTwo } >> } \new Lyrics="main" \lyricsto "mainlyrics" { \ta \tb \tz } \new Lyrics="alts"\lyricsto "extralyrics"{ \tc \ty } >> }