Yes, when you update camera.maxZ it does not automatically update shadowMaxZ itself (it can’t, camera.maxZ is not a property that CSM can monitor), but internally shadowMaxZ is taken into account only if it is >= camera.minZ and < camera.maxZ.
Note that if you set camera.maxZ before the CSM constructor, shadowMaxZ being initialized with camera.maxZ, it will get the right value.
You can of course set shadowMaxZ afterward, with sg1.shadowMaxZ = ...