(More generally, I find the promise of the Navigator library super appealing!! My dream is to run ROS2 on the py alongside with ardusub, subscribe to some of the mavlink messages from ros, and have direct control of some of the PWM outputs from ROS. Is that realistic? Are there conflicts to anticipate?)
That’s totally doable. With navigator library you’ll have full hardware access.
To run ROS2, I would recommend taking a look on blueos ros extension and used it as a base to create a ros2 version of it. Contributions with BlueOS-community organization are much welcome
I have been able to successfully use ROS 2 and the BlueROV2 with Blue. Right now it works with Humble, Iron, and Rolling. I have run it both on the Pi (I used a Pi 4) and from a topside computer. It offers support for the features that you mentioned (PWM control for thrusters, receiving mavlink messages, etc). I know of another student group that is also using this project for their research. You might also find the Orca4 project interesting, though it has not been used on hardware.