Jacob, thank you for the quick response.
I tried to follow the troubleshooting steps. I checked the USB cable connecting the Pixhawk to the Pi, and it works fine because I used it to connect the Pixhawk to the laptop directly and QGC was able to immediately detect the Pixhawk. I also allowed access for QGC in my firewall settings and pinged the Pi from the laptop's command line. I was able to ping properly with low latency and no loss of packets. However, QGC still can't detect the Pixhawk when it is connected via the Pi.
Since we are still testing the setup, the Pi is powered by plugging directly to the wall with its own plug and adapter.
I don't think I have any encountered any errors. When I access the Pi through SSH, it just boots, prompts me to login, and then just waits for commands. At this point, QGC still can't detect the Pixhawk. Is there a way to check if the mavproxy program successfully launched?