Well, there's more to the story. Once I went back to a larger version of my model, I discovered that without a small negative Extra Restart Distance (ERD), I was getting "zits" on the faces of some dovetails I'm using to built a larger overall structure. I could clean them up by hand, but that is going to be very tedious. I can get rid of most of he zits with an ERD = -0.07 mm, but as soon as I do that, I get gaps in the perimeters again, despite all of the other changes. ERD's around -0.01 or -0.02 don't have a noticeable effect, but by the time I get up to -0.07, the gaps are are quite evident, and appear to be the result of under extrusion.
I really think this is a bug inS3D. The ERD should only affect a very small effect at the beginning of a perimeter pass. I'm seeing under extrusion that lasts for many mm, and in some cases, almost a cm.
I tried the test models in PrusaSlicer, and without any tuning of the settings, I get prints with no zits & no gaps.
Here is a comparison of the S3D processes with ERD=0, ERD=-0.07, and Prusa Slicer ("PS"). The first shows the zits I was getting on the dovetails:
And here is a comparison of the test file where I get the gaps:
PrusaSlicer doesn't have as many options for fine-tuning things, but their default algorithms seem to work remarkably well. The one thin arm where S3D tries to use 3 extrusions to make a 1.5 mm wide wall with a 0.40 mm extrusion width, PrusaSlicers sensibly does it with 4.
I'm going to report this to Tech Support, but for now, I have no choice but to switch to using PrusaSlicer. I don't like many aspects of the user interface and the way they store printing parameters in a bunch of separate places, but if it's the only way I can get quality prints, I will have to learn to live with it. Of course, if this is a bug, I can't expect S3D to ever fix it, given their track record on updates for the last 2 years...