First of all, thank to you to everyone in this thread who has posted and thank you Aveo5_boy for typing that out for me.
Good news: I found the leak. The small outlet of the thermostat housing is leaking, looks like an easy fix. The leak was too slow and did not leak under idle/2,500 RPM when parked so I didn't notice it before, but before the thermostat housing and down I can see the previous drops.
Bad news: The leak is small and isn't the cause of the overheating.
Check for a loss of the coolant. - Leak is small, found it.
Check for a weak coolant solution. - Nope.
Check the front of the radiator for any dirt, any leaves, or any insects. - Nope.
Check for leakage from the hoses, the coolant pump, the heater, the thermostat housing, the radiator, the core plugs, or the head gasket.- Leak is small, found it.
Check for a faulty thermostat. - I assume the thermostat is working because the upper hose is hot, and the temperature is hottest the at the upper hose/upper part of radiator, and cools down further down the radiator. The heater also works.
Check for retarded ignition timing. - Not sure how, but car "runs" fine.
Check for an improperly operating electric cooling fan. - Fan runs fine at a stop/in traffic and the problem also happens at highway speeds.
Check for radiator hoses that are plugged or rotted. - On my initial check everything looked fine.
Check for a faulty water pump. - Heater is working, and coolant temperature (tested with IR thermometer) goes from hottest to coolest from upper hose > top radiator > bottom radiator > lower hose, so I assume the circulation is working.
Check for a faulty surge tank cap. - Only cap is the pressurized reservoir cap, which I have already replaced.
Check for a cylinder head or an engine block that is cracked or plugged. - Can't see anything on the exterior, seems possibly out of my expertise but I am not sure how to check.
Other things to consider:
The temperature gauge slowly climbs to the red line. Turning the heater on brings it back to normal levels.