What could cause my hot water to run out quickly... but only in the bath/shower?
To me it sounds like an anti scauld valve is not working correctly. If you have a thermometer could you try just turning on the hot and see if the flow almost stops and what the water temp is. This could verify if the valve is the problem.