When the top is on the header tank it should be doing both, could you fit a section of clear plastic hose between the two pipes, you should be able to see if the coolant is actually flowing then.
If one of your heater pipes is hot and the other one cold, then either the heater matrix is blocked (unlikely, as you say it's hot to touch ?) OR, the hot/cold temperature control valve is not operating correctly.
Right hello, I'm nice and tosty whilst driving now! Thank you all so much, just for the record, the heater matrix was half blocked, which somehows possible, thanks to everyone who helped.