You didn’t mention the thermostat in your laundry list of items replaced. If the thermostat isn’t opening fully the coolant flow through the radiator will be reduced.
Heat rejection to the coolant is a function of fuel rate, and heat rejection from the radiator is a function of coolant flow and airflow. Sounds like airflow has been covered. A partially open stat recirculates coolant through the block, not the radiator.
I will do another test and check the hose temps on the way in and way out. I think that will help me know if the thermostat is working, right?