Hello Dustin, I’ll reply here as well as at JournalXtra for the benefit of others.
The /blog/ slug will still show in the backend. That’s normal. It does this with my test blogs and with those I install for others.
Having provided a few suggestions at JournalXtra, I’m now stumped as to what to suggest. It’s good we’ve established it’s a permalink issue. But knowing how to fix it is something else. I’ve had a few problems with WP MS that have required me to re-install to get it functioning as it should (unrelated to forcing sub-directories). Those problems were created by plugins. Maybe that’s what you’ll have to do. We’ve tried disabling and re-enabling plugins, we’ve checked the redirects created by the Redirection plugin (removed root / redirects) and you’ve used an .htaccess file with only the essential rules.
Maybe the .htaccess WordPress re-write rules are wrong. Here’s a copy of the .htaccess rules used on one of my subdirectory using WP MS sites:
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
Try the above .htaccess rules and see what happens. It’s possible there’s a mistake in the rules you are using.