Hi Jason,
Thanks for taking the time to have a look at the quiz I made for you on my Moodle test site. I hope you noticed that I used 2 different question types (both non-core): Word Select and Gapfill. I have corrected this on my site.
1.- "I notice that in your example if I select all four correct answers and one incorrect answer, I get 3 points out of four."
That is the expected/usual behaviour of that type of question. It seems very harsh on the student to score zero points even when they got 3 correct answers out of 4. But I expect you have your reasons.
2.-"Ideally, I'd like to be [...] have a question type that only permits the correct number of selections."
The Gapfill question does just that.
3.- One question type which would exactly do what you want, i.e. give a score of zero if there is anything wrong in the answer (not all correct items selected OR one or more wrong items selected) is my own contributed Regexp question type. It's powerful but there is a learning curve. I have added an example to the "Jason Quiz" on my test site, which you might like to explore. Try to enter all kind of (wrong) answers to see what kind of feedback you get.
Looking forward to your comments.