You can use vim-pandoc. It doesn't correctly highlight code inside footnotes, but addresses the rest of those issues. Unfortunately, it doesn't work great with some other less common parts of kramdown syntax (such as tables), so it's not a perfect fix.
Its default setting uses vim's conceal feature extensively; if you don't like this, you can turn it off:
:set cole=0