If you are going to use a contactor (relay) for pack output control instead of having hte BMS directly controlling the pack output, then you can actually use multiple BMS boards for sections of the pack, and optocouple their control outputs together at a logic board (that you'd have to make, probably easiest with a little Arduino Nano or similar, but can be done with discrete parts) that turn a relay driver on unless any BMS turns it's enable output off. As soon as any of them turn off, the relay driver turns off, disconnecting the output from your system.
But...if I were making a BMS (or using any contactor based BMS), I would not actually let the BMS actually disconnect the pack at all--that I'd leave to the user, but I would have the BMS's enable output instead tell the controller to stop running the motor (easy enough by disabling the throttle and braking inputs), or else reduce the available current it can use to run the motor with (more complicated).