MicroPython on the XBee Cellular module includes support for an alternate UART on DIO4 and DIO12 and you could connect that to the primary serial port on the XBee3 Zigbee hardware. The XBee3 Zigbee product only supports the primary UART (via sys.stdin and sys.stdout) for MicroPython serial communications.
Without knowing how much processing you need to do on your gateway, it will be hard to say if you can accomplish it solely through MicroPython. You could have the Zigbee hardware do some processing in MicroPython, and pass data in an easy-to-parse format to a MicroPython program running on the XBee Cellular.
At a certain point, it is probably easier to use stock XBee firmware on the two radio modules and write your own code for an inexpensive ARM processor with a UART to each XBee. Digi has reference libraries in C, Python and Java for communication with an XBee in API mode, and they would serve as a good starting point for a gateway.