Is it possible to get a black PBT cap with white lettering?
Pad print or laser+infill are two ways to do it. QWERkeys does a lot of the latter type, though I don't know if they'd be receptive to printing on customer-provided keycaps.
The reason dyesub doesn't work is that the keycap's plastic colour (already dyed) will block out any dye you sublimate into it. You'd only be able to do this by printing all but the legend, then either leaving the legend in "natural" PBT colour, or printing the area with lighter ink (and since the body is already darker you can go off without it being visible, thus getting rid of alignment issues.
I think it might be possible with the "3d" dyesub method exhibited earlier this year, though it'd be expensive for sure.
Hah, "not possible". I scoff at that. It's merely difficult. But so is doubleshot.