Actually a container is just a tarball of a root filesystem
I already did some container migration from openvz to lxc and what I can say is that it just works.
Procedure is quite easy:
* you backup the LXC container on your pve 3.4 host
* you restore the backup on the pve 4.0 host
* you add the network config
I am working on a wiki article on that.
All data inside the container is safe, most of the configuration is migrated. Note that that to add the network config you can do this on the host, it has been expanded to be able to do more things out of band.
I also migrated a Turnkey Linux appliance and it works.