So it thinks there's something to be saved/gained by using a plan that has a low startup cost. But instead, it ends up running for a substantial fraction of the total (estimated) cost.
Got it. Is there any way to address this other than re-writing the query? (Statistics? Or something else?)