The most funny thing is that the estimated required space does not even depend on the work queue.
I initially thought it did in a clunky way, but no, even very small packages want 27G out of 19 available. Just like the big packages. Go figure!
What bothers me, is that portage is making decisions for me, based on faulty data. It can't read how much free space I have where I compile stuff, and sure, my fault. But then it also "can't know" how big a package is.
What bothers you is portage _telling_ you it made a decision. And one that does not even change the end result it produces.
Do you know how resolving a dependency on alternatives works? E.g. anything virtual/* ? This one does actually affect what software you have installed, and yet we expect it to just work rather than keep asking about every single little thing.