Answering my own question, I stupidly forgot that I had a TransHandler up above mucking my URLs before the Location directives got a chance to try to match. So my /foo location block was never seeing a /foo URL.
Still, I'm glad to see that the old system of "post to a public list and then immediately find your dumb error" still works like a charm :) -John