As always, field of view can dictate what to use.
VBR in some instances could drop down to a low bitrate, for my LPR camera it could drop into the 100s or lower and then with motion, it would jump to 8000, but it wasn't fast enough to get a clear capture.
For most CBR ensures that with there is motion, it will be at the best resolution possible. Lower bitrate will result in essentially a "lower resolution" until the bitrate goes up with VBR.
For the 4MP, most start at 8192 bitrate and then go up and down until YOU do not see an improvement or worsening of the image. The higher the bitrate, the more storage is needed and vice versa.
Since you are using BI, you should match FPS and Iframes. 15 is more than adequate.
Obviously every field of view is different and some use H265 without issue, but most of us have found H264 to be better.
This will explain H264 versus H265 a little better.
H265 in theory provides more storage as it compresses differently, but part of that compression means it macro blocks big areas of the image that it thinks isn't moving. However, it also takes more processing power of the already small CPU in the camera and that can be problematic if someone is maxing out the camera and then it stutters.
In theory it is supposed to need 30% less storage than H264, but most of us have found it isn't that much. Mine was less than few minutes per day. And to my eye and others that I showed clips to and just said do you like video 1 or video 2 better, everyone thought the H264 provided a better image.
The left image is H264, so all the blocks are the same size corresponding to the resolution of the camera. H265 takes areas that it doesn't think has motion and makes them into bigger blocks and in doing so lessens the resolution yet increases the CPU demand to develop these larger blocks.
In theory H265 is supposed to need half the bitrate because of the macroblocking. But if there is a lot of motion in the image, then it becomes a pixelated mess. The only way to get around that is a higher bitrate. But if you need to run the same bitrate for H265 as you do H264, then the storage savings is zero. Storage is computed based on multiplying bitrate, FPS, and resolution.
In my testing I have one camera that sees a parked car in front of my house. H265 sees that the car isn't moving, so it macroblocks the whole car and surrounding area. Then the car owner walked up to the car and got in and the motion is missed because of the macroblock being so large. Or if it catches it, because the bitrate is low, it is a pixelated mess during the critical capture point and by the time H265 adjusts to there is now motion, the ideal capture is missed.
In my case, the car is clear and defined in H264, but is blurry and soft edges in H265.
Digital zooming is never really good, but you stand a better chance with H264 rather than a large macroblocked H265. I can digital zoom on my overview camera and kinda make out the address number of the house across the street with H264, but not a chance with H265 as it macroblocked his whole house.
H265 is one of those theory things that sounds good, but reality use is much different.
As always, YMMV.