Neighbour bonuses only being active while reactors are running is a vanilla feature.
I did find one issue - different quality reactors can't give bonuses to each other, ie. while (normal+normal) and (rare+rare) work as expected, (normal+rare) doesn't get any bonus while working.
I don't think it's possible to prevent this issue, since the bonus seems to be hardcoded to only apply between identical entities, but I should probably add a disclaimer informing of that issue.