OK with the linux comfort level much higher than the typical FOG admin has and your (eventual) intended scope I would say that FOG would work well for you (lin and win). The only concern I have right now is" Does the FOG OS (FOS) kernel support your server hardware. This support is required for imaging only. The issues I can see is support for the NIC(s) and any raid controllers used during the imaging process. The FOS image has support for the majority of the desktop hardware, servers tend to have specialized NIC and disk configurations. Once the OS is loaded then the client OS is your issue.
If you have locations/servers behind slow links (such as a site to site mpls/vpn) you may want to deploy storage nodes at those locations. Those storage nodes will contain the deployment image and the ipxe boot files for that location. The deployment is still managed from your master FOG server, but the deployment happens remotely. If you use the location plugin for FOG you can set up locations for each remote site, then assign storage nodes and client systems to those locations. This ensures a client will not try to image across your site to site vpn link.
So what to do next? I would spin up a test fog master server. The stable FOG release is about 2 years old. Newer hardware may not be supported with the stock kernels. I would update the kernels to the latest that are supported under 1.2.0 stable (I think they are 3.19.3) to ensure your hardware is supported. Ensure your proposed target hardware can pxe boot into the fog ipxe menu. Then run the compatibility test. This will tell you right away if FOG is a viable option.
If your target computers don’t boot well, I would then recommend you upgrade to the trunk release ( 1.3.0 beta). This image is still in beta state, and is a bit more like a 2.0 release than a minor upgrade. This environment has many more options than the 1.2.0 stable release. The developers are working hard to get the 1.3.0 solid. Right now they are working hard on EFI support which has delayed the stable release a bit.