Isn't it maybe because the directory is first required by the configure command of an ExternalProjectAdd, which catkin has no control over?
https://github.com/ethz-asl/zeromq_catkin/blob/fix/isolated-devel/CMakeLists.txt#L15
https://github.com/ethz-asl/zeromq_catkin/blob/fix/isolated-devel/CMakeLists.txt#L26