This is tricky with the way the overlap settings work, and I don't see an ideal solution that would prevent child jobs from having their AOIs outside of the parent while still allowing them to overlap. It sounds like you'd like your system to:
Disallow by Job Type doesn't allow overlap between the same job type, so that doesn't work with the third requirement, and the other two options don't fit the requirements either. Your best bet is to keep the Disallow setting, and instead grant the users who define the child AOIs the 'AOIOverlapOverride' privilege while defining the locations. Unfortunately, this will allow them to define the AOI outside of the parent job, but this is the only current way of maintaining AOI restrictions in general while also allowing the child jobs to overlap.
I've passed along your use case for consideration in future design. Let me know if you have any other questions, and I hope this helps you move forward.