The gears at the pedals are the chainrings. Replacing the middle one rather than the smallest if the smallest is where the problem happens is odd, but you've done it so move on.
In order, the things I would check now that you've done the above are:
rear derailleur hanger alignment (see answer here)
chain length (how to tell). If there's an extra link in your chain the extra slack in the lowest gear might be enough to let the chain skip. Especially if you're not in the largest rear cog at the time. Technique matters here - if you mostly use the lowest "granny gear", then shift back to the middle chainring rather than onto smaller rear cogs this "too much chain" problem will not happen.
frame damage, specifically cracks around the head tube, down tube and chainstays. In the smallest chainring is when the forces on the frame are highest, so problems will show up in this gear first. Clean the bike, then carefully check the frame for damage. If the paint is chipped or cracked paint over it (with paint or nail varnish, anything that dries hard) then do a test ride under the conditions that cause the problem and check the new paint for cracks. Any new cracks mean there's too much flex, and might mean underlying frame damage. Or possibly just that you're too heavy/strong for the frame.
try adjusting the rear cable while riding the bike. Frame flex is probably the issue here, and doing the adjustment with your weight on the bike might make the difference
try re-routing the gear cables in crossover rather than parallel. The gear cables cross under the down tube - the rear cable starts on the left hand side of the head tube. This may mean new cables. This addresses shifting while you're out of the saddle swinging the bike from side to side (lateral bending rather than vertical).
new gear cables and outers. This should have been done earlier if they're not in perfect condition. Even if they look perfect, if they're more than half a year old I'd replace them just because it'd be really annoying if this fixes the problem after I'd spent ages trying other things. It's ~$20 of parts, so it's cheap compared to what you've already spent.
With a new chain a sticky link really shouldn't be an issue, but just a question: you do lube your chain, right? Especially if this happens off road, a dirty chain might cause issues.
Edit: middle chainring, not smallest
That does change things. The "too much chain" option is unlikely, as is frame damage. I would really have to put the bike in a workstand at look at exactly what happens when you're using different rear cogs and the middle chainring. Also, check for wear/slop in the rear derailleur (can you push it back and forth without shifting the gear lever). Unfortunately it's in the "I'm not sure what exactly I would be looking for, just anything that doesn't look right".
Going to a different mechanic, especially one know to be an expert, is about all I can really suggest. Sorry.