Monolithic may have a specific technical meaning in the context of kernels which is not opposed to modularity, but in general the two can be considered opposites. Monolithic is simply "of one piece", while modular means something has separate, changeable pieces. If you disagree it would be more enlightening to tell me your definition instead of a list of exceptions, because right now I don't see why they are.
But they are in the same repo because they are tightly coupled. Some of the code is shared between kernel and userspace for example, and stuff is versioned to match, as the BSDs do not have the strict userspace compatibility guarantees that Linux does, so things do change (though there are compat shims).
On the other hand, with the BSDs, you can swap out nearly any userland component for an alternative and it keeps working. While various things share code, it's very rare that one feature depends on an entirely unrelated feature, which is extremely unlike systemd.