This is one of the most uninformed posts I’ve read about Agile in a long time.
First, your initial premise that “The reality of Agile is that you still have immutable decisions made by business people with no real understanding of technology. Those decisions are then forced on to developers” is false. I’ve worked at several companies where the CTO is responsible for decisions that impact development.
Second, “tech debt seems like a fundamental pillar of the process” is wrong. Stories in a healthy process have a definition of done that includes things like 100% unit test coverage, all pull requests are code reviewed, etc. Acceptance criteria for the story includes things like performance targets, integration, and acceptance tests. Additional testing is completed during the sprint and stories are not counted as complete until all issues are fixed and all tests are green.
Third, story points can be a more accurate prediction of completion than hour estimates with just 4–6 data points. It is false that there are no stable teams. It is also false that points always turn into units of time. One benefit of using them is that when someone asks when a set of features will be complete an answer that is accurate to one sprint can be provided. Target dates provided in this way do not require anyone to turn points into time.
You highlight “The cost of shipping the wrong thing is much higher than the cost of slipping arbitrary deadlines to ship the right thing.” What usually happens is product or engineers think they know what the right thing is, but it ends up being the wrong thing. Scrum is a framework for frequently delivering working software so that your customers can tell you what that right thing is and you can iterate to match.