The preconnect headers are send by PHP, so it makes sense if they don’t work with w3tc if you use the advanced disk mode. They should still work if you use the normal disk mode, as well as memcached or redis, in theory.
I know that cache enabler plugin works, but I haven’t tested the feature yet on w3tc.
The fact is, FVM needs to generate the CSS and JS files during the first page load, before the http headers are saved for reference during next and subsequent page loads.
However, W3TC will cache the page right after the first request, so the headers may not be cached together.
As a test, you can try to purge your w3tc cache on some page that already has fvm generated files, and see if the next pageload has the Link headers or not, as well for subsequent w3tc cache pageviews. In theory, w3tc should cache those headers too, but unfortunately, the headers currently only work after the first pageview, where the JS and CSS files are generated.
It should still be useful in the long run, because while your page cache may last only a few minutes or even hours, FVM files can last forever until you update a plugin, change your theme or purge it manually.
Thanks, with memcached it works as designed.
And thanks for all latest changes you implemented to plugin! Really helpful.
Memcached is a bit slow due to serialization.
I would recommend REDIS if you have it available.
The disk cache (not the advanced method), should also work, in theory.
Thanks for reporting.