Turns out that the cancellability wasn't a regression. There are two distinct scenarios, and only one was handled. The other appeared to be handled, but I misinterpreted cancellation. Even the longest address query (5.2M outputs) only runs for 6-7 seconds on my machine (the other 7-8 is serialization/routing), so it's easy to miss.