Treat cost as a design requirement
An architecture that is technically right but blows up the budget gets reversed. That is not a finance problem but an architecture problem: the choice between a Warehouse and a Lakehouse, between a large model and a small one, between real time and every fifteen minutes, drives the monthly bill more than any procurement negotiation ever will. So put the cost consequence in the same document as your other non-functional requirements, next to latency and availability.
The practical test: for every architecture decision in your design, can you say what it costs per month at the expected volume? If not, it is not a design but an intention.

