Set UseCanonicalPhysicalPort to off.  This changes HTTPD to look for the port order like this:  parsed port from HOST header (should be empty), port provided by ServerName (also empty), default port (80) which makes redirect URL and other things generate with the correct port (since CF does not rewrite them).