In JDM programmers the two transistors they used BC547 in mostly.
I made the same circuit with 2N2222 transistor but it didn’t work. But the programming software detects the programmer. But I cannot read the PIC & program the PIC.
All it requires is a general purpose silicon transistor of the correct polarity, pretty well anything will work, it's only used as a simple switch. As suggested, you may be connectng it the wrong way?.