If everything is good, no intake leaks, etc, I would assume a timing issue based on what's said.
I don't know what's programmable with what you have or much about Sportsters. But, it sounds like the timing is close, just a little off. Are there selectable curves? Go back where you started on the carb jetting and try the next less aggressive curve if you have selectable timing curves.
Ping under load could be too aggressive a curve or possibly a faulty VOES switch, ping only at high rpm could be just too much maximum advance.
You could also try retarding the ignition by about 1° and see if that helps (you barely have to turn it for that). That will shift the entire curve down. This only works with old timer cup style timing modules where there's a cup in there with two cuts that passes through a sensor. I don't know how to adjust timing with CPS sensor stuff.
If you pull the spark plugs, you can also get an indication of the timing by reading the ground strap. At some point on the ground strap of the spark plug between the tip and where it connects to the base of the plug, there should be a color change, or possibly a little band across it. You want that point where the band or color change is to be right about where the bend is on the strap. Too close to the tip indicates timing too retarded, too close to the base indicates too advanced.
I don't know what's programmable with what you have or much about Sportsters. But, it sounds like the timing is close, just a little off. Are there selectable curves? Go back where you started on the carb jetting and try the next less aggressive curve if you have selectable timing curves.
Ping under load could be too aggressive a curve or possibly a faulty VOES switch, ping only at high rpm could be just too much maximum advance.
You could also try retarding the ignition by about 1° and see if that helps (you barely have to turn it for that). That will shift the entire curve down. This only works with old timer cup style timing modules where there's a cup in there with two cuts that passes through a sensor. I don't know how to adjust timing with CPS sensor stuff.
If you pull the spark plugs, you can also get an indication of the timing by reading the ground strap. At some point on the ground strap of the spark plug between the tip and where it connects to the base of the plug, there should be a color change, or possibly a little band across it. You want that point where the band or color change is to be right about where the bend is on the strap. Too close to the tip indicates timing too retarded, too close to the base indicates too advanced.