How does PX4 receive and store a mission from QGC?

I’d like to understand how a mission is processed in PX4. So, I define a couple of waypoints in QGC and click the upload button. Now what happens in PX4?

I assume the mavlink module will publish the waypoints to a uORB Topic, right? What topic would that be?

Next thing is probably the navigator which subscribes to said uORB topic and stores the waypoints. Which file of the navigator implements this functionality?

When I want to have a ROS2 Node create missions and upload them to PX4, would it be enough to create the waypoints and publish them to NavigatorMissionItem_PubSubTopic? Will those waypoints then be shown in QGC?