The mechanic may be right. If the rear loop is short it comes to the RD fitting at an angle. This causes extra friction, and sets up a stick and release motion on the wire. As you shift, the the resistance cause the long length to stretch under the added tension. Then when you shift a second time the tension is too much and the wire finally moves rebounding back to it's normal length.
Of course this is just a theory without seeing it, so try this quick diagnostic. With the bike on a stand (or a friend holding the rear wheel off the floor) shift to the area where you're having problems. Now try to shift, not with the lever, but by drawing the bare wire away from the downtube like a bowstring. It and the RD should move very smoothly, but if I'm right there'll be an increase in tension followed by a sort of release.
You mentioned internal cables, so if you don't have access to the wire, try the same test this way. Remove the wheel, and work the lever watching and feeling for smooth action, you might see the RD move in so of stick and jump motion.
If the diagnostic confirms the sticky wire, your best bet is to spring for a new cable, making sure the run to the RD fitting makes a nice graceful curve coming to the fitting straight on.
This is becoming a more common problem because the ferrule fit to the adjuster has gotten sloppier than it used to be in the past, and so much more sensitive to the length of the rear loop. Here's a trick that may improve it until you're ready to replace the cable. Use a rubber band to hold the loop at a smaller radius and enforcing the 180° bend, so it meets the adjuster with better alignment.
__________________
FB
Chain-L site
An ounce of diagnosis is worth a pound of cure.
Just because I'm tired of arguing, doesn't mean you're right.
“One accurate measurement is worth a thousand expert opinions” - Adm Grace Murray Hopper - USN
WARNING, I'm from New York. Thin skinned people should maintain safe distance.