Reducing golfed redundancy
I agree with you that the if-first-three-lines predicate is not needed. I like Massa's solution, https://codegolf.stackexchange.com/questions/139900/first-they-came/140247#140204 :

print(' they came for '.join(
    ["First"]
    + [f"the {i}s, and I did not speak out-\nBecause I was not a {i}.\n\nThen"
       for i in ['Socialist', 'Trade Unionist', 'Jew']]
    + ['me-and there was no one left to speak for me.']))


It says everything additively, without subtracting any special cases. Perhaps you'd like to port that approach.