Josiah
From the user's manual:

It states that on "normal" pins the pull-up is disconnected when the GPIO is used as an output (seen also form the diagram 11-1)
From my understanding of the true open drain types (according to figure 11-2) the pull-up 'should' be connected also when used as an output as long as the output is driving to '1' (when the output drives to 0 the pull-up is disconnected).
When I test I find, however, that the PTA2/3 GPIO behave as open-drain but with the normal control (that is, when configured as output the pull-up is disconnected. This doesn't correspond with the diagram.
The additional detail about them retaining their pull-up setting in I2C peripheral mode is a different question and no equivalent diagram is given for that.
Even though this detail about the pull-ups not being usable when configured as GPIO output (which may be an error either in the GPIO design or in the user's manual diagram) it is not a big issue from the point of view of the firmware. To use the pins as GPIO one can do the following:
1. Configure the pull-up and pin as output, driving 0 - this gives a low impedance '0' at the output.
2. Configure the pin as input, which gives a '1' output (through pull-up)
Each time the pin state needs to be changed switch to either output to drive '0' or switch back to input to 'drive' '1'
Therefore, it can still be used functionally as open-drian output with pull-up, without needing to add an external resistor. Just the firmware control of these 2 pins needs to be slightly different.
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]