Yes, that's basically accurate. Since the end of the Cold War, Germany has always taken the cheapest possible military option in order to fund their precious social programs and treated the military as just another government jobs program. While I think the current US administration's moves to cut off our allies are deeply stupid and the moral equivalent of treason, Germany has only itself to blame for creating such a dependency. Alliances are always temporary and now Germany will have to face reality.
"Germany has always taken the cheapest possible military option "
Not in my understanding. Rather germany always went for the specialized and therefore expensive version (Goldrandlösung) of anything. But sure, parliament says, we are in peace, we don't need so many of those expensive toys. So they rather buyed only limited numbers and created another buerocratic controll gremium.
France could afford a nuclear programm and an aircraft carrier with an equal budget.
So yeah, there are many factors to blame, but I don't think it was because of too little money. Rather too much money with no one sane checking, if it serves really the purpose of defending the country.