When Jonas made the change to not add demangled names to the name indexes, we were worried it might cause breaking on overloaded functions to stop working. But that's actually not true, anything that uses the Symbol::LookupInfo to search names will do the right thing here, which includes SBModule::FindFunctions and the breakpoint by name resolver. That does the job of extracting the base name, finding potential matches, and then comparing the demangled name of the match to the input string. It's still the case that the names must match exactly.
Anyway, in the course of proving this to myself I wrote a little test for simple overloaded name breakpoints.