Dont replace the thermostat unless you take an engine temp reading. Waste of time. Think about it.. a thermostat opens when the engine heats up. When the engine is hot it is fully open. Pretty hard for a Thermostat to fail and make the engine too cool. Too hot... yes. The engine could take longer to get fully hot, but eventually will.
Do easy stuff first:
Look for crud at any joints in the lines from the engine to the water heater
. Maybe disconnect the hose from the engine to the heater and see how the flow is with engine running. Or if gunk comes out.
Also, some hoses fail with the liner coming apart. A piece can then block the hose. Especially at the hose connections to the heater. Something must be partially blocking water flow to the heater.