And doing it through Lambda is possible, but the friction there almost feels deliberate. They should make it a first-class option you don't need to wire together yourself.
AWS is the ultimate "wire it together yourself" tool. If that's _not_ what you're after, there are many other vendors eager to take your money.
It's a practically unlimited scale-to-the-moon platform that allows you to provision hundreds or thousands of virtualised bits of internet infrastructure in seconds or minutes - and automate it all.
All their "light pattern" UX is laser focused on allowing you to instantly provision all the capacity you ask for.
If you expect a UX oriented to "cost minimisation" or "potential user error protection", AWS is the wrong choice of tool. You can still use it, but what seems to you to be "Bad UX" or "dark patterns" can easily be explained as "you chose the wrong tool" if you view AWS from a different angle (and I'd argue, that angle is the one all AWS's 7 digit per month customers see it from, and hence the way the AWS team builds and prioritises everything)
Additionally: you can totally set up CloudWatch Alarms for billing events, it's one of the categories they provide out-of-the-box, and alarms can trigger notifications, lambdas, SQS, etc. So you can totally wire alarm -> lambda and have lambda spin down the thing costing you the money.