Trying to understand push-pull output mode and open-drain output mode in a MCU's GPIO pin
First misconception : Push-pull mode does not mean the weak pull-up and pull-down resistors are disabled. On some MCUs they can be, but this MCU has separate control for resistors and output mode. The resistors can be enabled even in push-pull mode, but it just makes no sense because the strong transistors can push or pull much stronger and will override the weak resistors.
The push-pull mode means the output is either strongly pulled low to VSS, or strongly pulled high to VDD.
The open drain mode simply stops driving the high FET, so either the pin is strongly pulled low to VSS, or left floating high-Z. Depending on internal pull-up resistors or external ones, that is then responsible to pull the data high. If you want high-Z, use open-drain mode so it won't push high, or set the pin as input and it won't push high or pull low.
Open drain mode is compatible with other items that are open-drain. In the case of I2C bus for example, the IO pin must be in open-drain mode, and what is even more handy is the fact that while it is a 3.3V MCU, the open-drain mode allows (some pins, not all) to be pulled up to 5V, to for example allow the 3.3V MCU to talk directly on a 5V I2C bus with other 5V I2C devices.