301 redirects are not the reason for the dip in traffic that people confuse themselves about.
If you took your exact site, shifted it across to another URL exactly the way it is now, and used 301's to redirect URL's, then you would experience zero traffic loss, because the only thing that has changed is the domain name, the page itself is identical in every aspect.
Now, look at your VB page and look at an XF page. They are two very different pages when viewed looking at raw data. There are different terms used, different phrases, user post details are minimal in XF compared to VB, etc etc... so what you are doing is completely changing the dynamics of the pages themselves.
That is the difference in traffic, because you aren't presenting Google the exact same data any more, you are actually changing the amount of words on a page, the dynamics of the page, just by changing software type.
This applies to changing any software type, the same thing will happen, regardless of 301 redirects.
301 redirects will minimise the impact and loss in traffic, because Google will find the new page containing the near similar content, yet if the dynamics of the page has changed, then Google will define the page differently, either ranking it higher or lower... but the 301 will play an important role, because it tells Google the page is not actually new at all, it is this existing page that has now changed location... so the drop in traffic will be minimal.
The best thing you can do is ensure you keep the same post count per page, ie. if you have VB set to 20 posts per page, ensure XF is set to 20 posts per page, etc... this will keep every thread close to identical in content and page numbers.
That is where you get the difference, not a 301 redirect. Big difference.