I’d say everything but the ADC and PWM are well supported with the current MicroPython library. For PWM that’s done via timers. So, you’ll need to grab the processor datasheet here: https://www.st.com/resource/en/datasheet/stm32h743bi.pdf
And see what pins have timers on them and what timer channel is on that pin. PWM in MicroPython works by you picking a free timer, then setting one of the 4 outputs of a timer (which are mapped to a pin) to be enabled. Our PWM examples show this. Similarly, if you want quadrature encoder support it works the same way.
Regarding the ADC… OpenMV has only had one ADC pin ever, the MicroPython library technically supports more channels, but, I don’t know what the state of this is on the Portenta.