Is it possible to do this: say run flannel on node{1, 2, 3} and calico on node{4, 5, 6}. Obviously, pods can only communicate within the same network.
The short absolute answer is yes. Considering that overlays are speaking CNI and CNI is a standard and that you may have to hack the code in the overlays so support things like a flat network space.
The practical answer is no. There are no official guides and it's not officially supported.