I would rather have an internal redirect / rewrite so that I'm not doing a browser redirect, and so the page stays as http://www.mysite.com/foo in the browser.

I've tried lots of different things and nothing seems to be working. Some things get me to wordpress, but then I get a 404 from wordpress.

A browser redirect works, but I'd rather not use this solution.
RewriteRule ^/foo /blog/foo-page-long-name [L,R-301]

These get me into the blog, but I get a 404 from wordpress. I don't know what URI wordpress is actually seeing to give me that 404
RewriteRule ^/foo /blog/foo-page-long-name
RewriteRule ^/foo /blog/foo-page-long-name [L]
RewriteRule ^/foo /blog/foo-page-long-name [PT]