1. Where and how are the files stored and distributed?
I link you to this answer I gave long time ago. https://stackoverflow.com/questions/47450007/where-does-ipfs-store-all-the-data
It's still up to date.
2. Some gateway links work, but most don't. From my tests very few links load. Is this an issue from my side or the other end usually?
Most probably you are behind a NAT (your router). While it's all fine and well when you initiate a connection; when a gateway has to connect to you out of nowhere to retrieve a file the request is blocked.
After a while you can see the video because some node you are connected to, makes you the favor to relay your data, but it's slow for now, not the best solution.
While go-ipfs 0.4.19 introduces auto-nat and auto-relay, your best bet is still to forward your ipfs host. Check your config file and open the firewall on ipfs ports.
3. Can this be used alongside a VPN?
Not sure I'm able to help you here, but know you can configure ipfs to use different ports than the default ones.
4. Can this be used for this purpose?
Sounds like it can definitely be used for that purpose, check out answer 1. because I sense still a bit of confusion.
When you pin, you simply tell your ipfs instance to keep the data cached. The data are kept in your PC.
About seeding content, right now, you have to pin the videos and keep your pc online. You want to wait for filecoin or other decentralized storage platforms to complete before you can upload and forget.
The other current issue, for now, is that IPFS usage isn't widespread, so even if people saw your content it would likely be on a gateway. This leads to poor distributed caching and, overall, poor distribution and performance.
I heard brave and opera browsers had plans to integrate ipfs and ens (from ethereum) though.