Scrivener shouldn't be making any *spelling* corrections at all if that option is disabled, so that may be coming from your substitutions list, e.g. if you have a replacement set up to change "dont" to "don't". Check to see if "Enable additional substitutions" is ticked, and click the "Edit Substitutions..." button to see what you have listed there.
I'd also check what's set up in the personal word list, as that affects the auto-corrections for spelling, and "Dont" may have been added by mistake. If both the substitutions and the spelling auto-corrections are enabled in this configuration, you'd end up with any instance of "dont" being corrected to "Dont" before the substitution kicked in, and once it's "Dont" it no longer matches "dont", so it wouldn't replace.
If that isn't what's going on, then there's probably another program running that's catching and adjusting the text. Some text expander or global shortcut services have autocorrect options like this, so that'd be a place to look.
MM, can a substitution begin with a blank space?
Suuuuper tardy response (sorry I missed this!), but yes, it can. You'd want to be sure to include the space at the beginning of the "with" text as well, so you don't remove the space entirely. That is, you'd want to replace " dont" with " don't" so you retain the space before the word.