Well, it's documented in the sense that the free web dyno is documented to spin down sometimes; if you pay $35/month for the extra web dyno, it ought not to.
This seems like a reasonable pricing model to me. And it seems reasonable to me that they don't document _exactly_ in what circumstances the free dyno might spin down on idle. Free is free.
If on the other hand even with the paid extra web dyno you were still getting ~10 second spin up times after idle, that would be something I'd get annoyed at too.
If you're willing to pay over $100/month on services you may or may not need just for the learning experience -- perhaps scale some of those back, and instead pay $35/month for the web dyno you do actually need to avoid the idle spin up time.
I do think it's true that heroku can end up being a lot more expensive than you initially expect for what you need, the extras can add up quick. This certainly can be frustrating. Even when you really are paying only for what you need, things can get expensive for a non-tiny app. But if you want to minimize your costs, you definitely want to avoid paying for add-ons you don't need.