John ... Two of the likely suspects causing your issues have been already mentioned seems to me. It would seem to me if the bike runs OK with normal spark plug gap, the mag is reasonably OK.
I would 'lie back' on thinking your 42/46 cams are the problem. It's safe to assume they're installed properly? ..
(1) 'I've heard' of some pattern Twitters being made very restrictive. The OEM and good pattern designs design have a pair of open ended perforated tubes, one is welded into the front cone and the other into the rear setion outlet. the ends of the tubes are offset and do not align inside the muffler. Make semse?
Have you ever wondered why the Twitters look like a mega but aren't? hmmm. Yup you can rebuild a Twitter into a true reverse cone silenced mega with out ward OEM apperance. Let me know if anyone is interested and I'll explain how it's done.
(2) Ignition timing could easily be your problem. I assume you are timing the mag using the 'stick down the hole' method? I also did it this way for many years before going with the SRM/Boyer
and it 'kinda sorta works'. Frustrating at best, get ya throwing things at worst!
But, by all means use a timing light for verification. If you haven't done it, we can explain how to set up an accurate degree wheel on a GS calibrated with a bump stop.
Actually the best way to set your timing was devised long ago and is seldom done correctly.
You are aware the bar retard control is 'slack wire' at full advance? And at full retard, with a tight wire, the mag output voltage is lowered? That's why you should only retard about half way for starting.
Timing 'by the book':
Set the bar retard control half way. Now set the engine normal timing using the 'stick in the hole' method. For a stick I've always used lengyhs of 1/8 brass brazing rod marked with a small file.
Now take the bike out onto a good open road where you can run wide open. Using the tach as a reference, diddle the bar retard lever for best top end revs. Insure the carb setting/plug color is OK. The timing giving top speed is the correct timing for the engine. You should be geared to turn at least 7k revs doing this.
Now without touching you final setting of the retard lever, take the bike back to the shop and Accurately measure the timing to this reference, preferrably using a degree wheel and timing light. Now with the retard control to the stop reset the timing to this referenece.
And along these lines ... One of the uses of the GP carb enrichener control was to arrive at the optimum jetting.
BTW, you are aware the normal enrichener operation is with a 'tight wire' on this control? Many of us don't use it and have merely pulled the plunger and capped the cable hole. In other words the plunger is normally pulled up exposing most/all of the slot in the carb body.
By setting the jetting on the lean side with the control set about half way, you can then run top end adjusting for best revs/speed.
You will then have a reference whether to go lean or rich with the jetting. The enrichener controls air to the 'mixing chamber' via the fixed 'emulsion jet' or 'air correction jet'. It's said to simulate going ~ 4 jet sizes richer when the air is restricted.
Tune and Go Fast! That's what Goldies were made for and They love it.