Photos, here are some of the very worst examples, all of holes in the 2.5mm to 3.5mm range:
Undersizing of the holes themselves isn't really a problem, I've got in to the habits of leaving tolerances for this. The issue is ofcourse the walls being poorly connected to the infill. And infill before walls doesn't sem to have helped. If I could force the slicer to do something like 4 extra walls lines, not just 1 extra, on alternate layers I might have a hope.
I am using "eryone" branded PLA (grey), it has tended to work quite well and is what I've been running on ever since shortly after I got the printer, i went through a while of testing filaments from several brands and this one behaved best. When I say 0.3mm oversizing I mean 0.3 oversizing the diameter, so only 0.15 oversizing the radius, the shrinkage, or perhaps other effects means the actual hole comes out at just under 3mm, not substantially under, almost loose enough to force a 3mm metal rod in but not quite. And this undersizing mostly seems to only apply for small holes, large holes through parts seem to maintain expected dimensions better.
I found the under-extrusion in the areas between inner perimeter and infill particularly problematic recently, I had been tolerating it but I've had a case where a part broke in use when a screw (with nut) was tightened in to a hole because the hole wall and infill weren't well connected. I hoped I might finally find a fix now.