I don't think the last part of this concerning the final print on the original exchange is necessarily true. Quite often I will want to take an offer or sell a bid where the bid/offer is resting at a certain exchange. I would prefer not to have it filled there due to taking liquidity charges, so I will send it on a "free" exchange such as the CBOE. The CBOE may match, but more often than not, the order is in fact filled on the other exchange and not only do I pay for taking liquidity on that exchange, I also pay a linkage fee.This was the first version of the linkage. It has been replaced since (around 2014 or so). The process has changed but the results for retail traders are the same.
To answer OP's question, all US option exchanges have to ensure that public customer orders (PC/retail) are filled at NBBO. If an exchange doesn't have an opposite order at NBBO and needs to fill an incoming PC order, then it sends an offset order on behalf of the PC at an exchange sitting on the NBBO. Anyway, all this is transparent to the retail customer and the final print is still done at the original exchange.
So if there is a .50 offer on the BATS, I may send a .50 bid to the CBOE. I will see the trade done on the BATS (if the CBOE doesn't match).