I remember arguing as well with people about 0.10$ components. They told me it was a no go, not even a point of bringing it up. Sometimes even a 0.01$ is a big deal.
There are a lot of other factors involved with respinning hardware which make an upgrade a lot more expensive than simply a BOM increase. I can definitely understand why an existing product wouldn't be upgraded, but for a new product going to a bigger memory chip is a far smaller hurdle. The added software engineering time for working around RAM limitations can easily outweigh any money saved on the BOM, with choosing a smaller chip ending up being penny-wise pound-foolish.
And indeed, an extra $0.10 or even $0.01 can be a big deal. But those cheap systems usually aren't powerful enough to meaningfully run Linux in the first place: just because you can technically hack a $1.00 RP2040 or ESP32 into running Linux doesn't mean it is a good idea to actually do so. If your product is both cheap enough that it represents a significant fraction of your BOM and high-volume enough that you can afford the engineering time in the first place, why not use a purpose-built embedded OS like Zephyr?
So no, at those sizes price really does not change all that much, and installing 512MB of RAM instead of 64MB only increases the product's cost by $0.15. It's a commodity made on legacy processes, things like packaging, testing, and handling far outweigh the cost of the actual transistors inside the chip.
[0]: https://www.lcsc.com/product-detail/DDR-SDRAM_Winbond-Elec-W...
[1]: https://www.lcsc.com/product-detail/DDR-SDRAM_Winbond-Elec-W...
[2]: https://www.lcsc.com/product-detail/DDR-SDRAM_Samsung-K4B2G1...
[3]: https://www.lcsc.com/product-detail/DDR-SDRAM_Samsung-K4B4G1...
[4]: https://www.lcsc.com/product-detail/DDR-SDRAM_Samsung-K4A8G1...