Hey, so, I have managed a ton of software projects. I strongly oppose Agile, "agile" and nearly every variation thereof (SAFe is the worst). Not every software project is a website contracted to an agency for the lowest possible cost, and any software of any consequence has a lifetime of decades, not minutes, so "working code over documentation" is a fundamentally flawed basis, before getting into any of the other bullshit cargo-culting nonsense that flows from the agile methodology.
you identified the exact problem.
developing a website with very inexperienced people? requirements very fluid from the customer (they know what they want when they see it)?
agile, as practiced today, is the way to go.
building a defined system with performance requirements? with a budget? using staff that understands the technology?
something else, is the way to go.
in my experience, a short requirements exercise (say 10% of the expected project duration), followed by development iterations, is the way to go. how long are the iterations? between 2 weeks and 3 months.
take time for design. have milestones where the system is functional and stakeholders can interact. but not continuously.