Given the limitations that the client has raised, I think your suggestion is the best option. While they will have to VPN into each site separately to see the appropriate camera feeds, it sounds like the best solution given their hesitation to use a full time VPN.
That being said, here are my thoughts on the issue. First, I absolutely would want a separate BI set up at each location regardless of the method used to access the feeds. Having a local system archiving the footage is the best solution. Having to rely on an internet connection to provide a link between a BI server and remote cameras is going to result in outages that are out of your control. Having local storage is really the only robust option IMHO, so plan on running a BI system at each of the four locations anyway.
Personally I think having a full time VPN connection is the best way to have footage available on a single interface. That being said, most firewalls can handle data routing through VPN connections, so while the VPN connection might be on full time, it is very easy to set it up so only certain camera feeds actually use the VPN. It's also easy to limit users who connect via a VPN connection to only certain devices/network segments. So if your client is worried about leaving a VPN open full time that allows access to the entire network, that isn't how it has to be set up. Personally I would set up a full time VPN with only the satellite cameras using the tunnel to the main BI system for display purposes only. I wouldn't even worry about recording the saterllite cameras on the main BI system because that should be handled by the systems set up in their local network (BI and local SD cards for example). Although if you wanted to add recording of remote cameras for yet another "backup" that would be located at the main site, it would not be wrong to do so.
The advantages of setting it up this way is that all of the camera feeds would show up on the main BI system/app. Users would not have to VPN into remote sites to see those camera feeds. The downside is that you are going to need decent internet speeds (especially upload speeds at the satellite locations) to get a stable system.
I actually have this type of system set up myself. I have a remote camera set up over a full time VPN connection that I display on my local BI. I don't record the remote camera on the local BI system, but it makes it very easy to view all of my cameras at one time using one connection method. Even if I am offsite, I can remote into my main system (using another VPN connection) and see all of my camera feeds at the same time - regardless of whether they are local or remote cameras.