Seeing as how this may be in part a bug report, I’m having difficulties getting this kind of result on my own, which I’ll go into below in more detail.
First some basic troubleshooting though: have you tried seeing if what you compile from Scrivener has this padding if you drag and drop the .docx file back into your project, say in the Research folder? Alternatively, have you tried any other word processor to look at it, like Pages or LibreOffice?
Any solutions besides “just export RTF and then convert to DOCX”
You could always try using the Java converters (those that would be used to create ODT files), provided you have Java installed. Once that is set up, and you restart the software, the Sharing: Conversions settings tab will acquire a new checkbox for using them to produce .docx files.
I should add an important caveat, that I am not opening the result in Word as I have no access to that. However I can of course look at the .docx formatting itself internally, and as well can see what it looks like in LibreOffice, which usually gives on a pretty good idea of basic formatting issues.
For the purposes of this test, use the following sample project (which also includes a copy of the DOCX I compiled from it):
paragraph_spacing_test.zip (150.3 KB)
Firstly, open the .docx file I provided, and see if you get after-para spacing. If you do, well the problem is probably outside of Scrivener then. This is a correctly formatted document.
This performs some very simple tests, using as little complexity as possible:
- There are no styles used anywhere, all formatting is raw direct formatting.
- There are two sections of test, testing the After Paragraph spacing value, first at 0pt as in your case, and then at 20pt to provide a control, so we can see what to expect if there is spacing.
- Compile settings use bog standard “Default” with all Section Types assigned to the “As-Is” setting. Very little should be modified and we’re largely just glueing together text chunks into one file.
I know you said you aren’t a coder, but for this particular type of formatting, the DOCX format is not too obscure about it. Chunks of text that that deliberately have after-para spacing will have this formatting applied to them:
<w:spacing w:after="400" w:line="264" w:lineRule="auto"/>
In this case, the w:after="400" is what became of our 20pt spacing test. The unit of measurement is different, but this checks out, and if you open the compiled .docx in LibreOffice, it reports correctly:

Scrolling up to the portion of the DOCX file that presents the 0pt padded paragraphs, we find this formatting:
<w:spacing w:line="263" w:lineRule="auto"/>
The w:after attribute is gone, which should cause the text to use the default, and therein is where we might get into weirdness with how MS Word works, itself. Maybe its default is for some mysterious reason 8pts? I suppose, if that is the case, we could force it to 0pt, but in general it is very bad practice to enforce default settings into your file format. It floods the file with piles of wasteful declarations for one thing, but it then also overrides what you want to be default, should have preferences on the matter and change them.
In LibreOffice though, we get:

After you have compiled this test project for yourself, to verify whether it works or not, I would recommend modifying it with whatever settings or formatting you would need to use to reproduce it, and then attach your result as a response (drag and drop the .zipped project backup into your reply window to attach it).