Treating a confident answer with no supporting chunk as a bug rather than a quirk is exactly the right lesson to take from this one.
Worth knowing the shape it keeps as you scale: abstention is not something you reliably prompt your way into, because the model cannot distinguish "this context is thin" from "this context is enough". The version that held up for me is a threshold before generation rather than an instruction inside it. If the top retrieval score is below a floor you derived from a labelled set, you return the refusal yourself and never call the model at all. It also gives you a number you can tune, which "say I don't know" never does.