I stared at this some more. Played around with a few things. It seems to me that there is a thermocouple embedded in the heating element (maybe they are one in the same?), as when the element is externally heated, the black and red wire pins put out a voltage going up to a couple mV. The resistance reading also changes significantly.
Additionally, I went ahead and heated the iron handle with some warm air and the resistance between black and white dropped to about 6k pretty quickly, pretty much confirming that there is a NTC thermistor in the handle (not the tip). I guess it just happens to be affected by current flowing through the heating element as well.
So for driving this thing, it seems to me that the intended approach is to cycle between measure and heat. If you limit the duty cycle to 90% or so and keep the PWM frequency low enough, this is doable, but it's giving me some trouble to come up with a topology that does this effectively and without too much expense. So far, the only design I've come up with is the following:
Use an analog switch to switch between a measure circuit and heating circuit. The PWM signal would drive this to ensure that the heater and measurement circuit aren't on at the same time. Getting the timing right is critical, as the heating circuit voltage would be up to 30 V (just a rectifier slapped onto the power transformer so pretty ripply) while the measurement circuit would be designed to measure a couple mV full scale for the thermocouple. I'm not great with transistors, be they mosfets or bjts, so I'll have to look up ways to make sure circuit 2 doesn't turn on until circuit 1 is completely off. Then I'd need to trigger the ADC so that it only measures during the PWM low window.
The holy grail would be finding a way to measure the temperature regardless of the PWM state, meaning heating element on or off, and don't worry about getting the timing right. It might be possible to do that by treating the sensor/heating element as a resistor you're trying to measure, then measuring V(heater) / I(heater) = R(heater). But the filtering required with a simple 1st order RC filter would have a cutoff frequency way too low to measure and control the temperature effectively (we're talking sub-Hz) when considering ADC delay between samples. I think a higher 3rd or 4th order 10 Hz LP filter would do it. Or you could get an ADC that samples both simultaneously. Or build a sample & hold circuit that samples both voltages and allows the ADC to take its time with the measurement.
I don't know what would be cheapest/easiest and I don't have the equipment to effectively get a temperature-resistance curve for it to see if it has a consistent response when treated as a resistor. If I simply knew for sure that it was a thermocouple and what type it was, that'd make things a good bit easier. So I guess the next step is probably coming up with a semi-accurate measurement rig to give me some data.
But I've already gone pretty far out of the scope of this thread. So I'll stop my rambling for now. Maybe throw some schematics in to illustrate wtf I'm talking about tomorrow.
Edit: Just adding a few search results that might be relevant:
https://electronics.stackexchange.com/questions/534554/how-to-amplify-a-thermocouple-that-shares-a-wire-with-a-heating-element-solderihttps://forum.allaboutcircuits.com/threads/identification-of-heating-element-leads.110970/https://www.eevblog.com/forum/chat/soldering-station-thermocouple-vs-heating-element-resistance-sensing/Last one pretty much confirms that the heating element and thermocouple are one and the same. Also, other than the ADC timing I think it's gonna be pretty simple to measure from the thermocouple. No switching required, just a resistor and clamping diode to keep the amp from getting over-volted. And an amp/amp design that recovers from railing fast enough to get a good ADC reading once the heater is in the off cycle.