You are correct in saying that "all" is not the subject. You must treat the entire phrase "not all was lost" as a single unit. This phrase is an expression, and if the writer of the sentence thought you might not have been familiar with it, would have put it in quotation marks.
In the following sanitized quote,
One reason {person} thought "a thing they are thinking" was that...
The bolded "was" I have here is the actual verb of the noun. The 1st "was" you encounter in the actual quote is a part of the "a thing they are thinking" that I've marked above. It is a sub-phrase that must be parsed separately.
The entire italicized portion is a single noun phrase that is the subject of the sentence. It is singular because it is "one reason". The subject is one reason... but one reason what? It is one reason that German soldiers think something. What did they think? They thought "not all was lost".