Temperature control is working now! Haven't checked with my thermocouple to see if it's accurate, but it gets to the target temperature pretty quickly, and hovers within around ±2°C, even though I haven't implemented PID control or anything yet; right now it's just setting the PWM pulse width to either 254 (for heating) or 8 (for cooling). Once I verify that the detected temperature is decently accurate, I'll raise the maximum temperature and try soldering something!
Also, you may notice that I switched back to the Nano. I still haven't been able to program the WAVGAT Pro Mini boards, so I switched back to one I know will work, and after fixing a couple of bugs in the code, it's doing great! (especially considering I'm still only heating the tip with 5V, not 12V like most of the other designs)