I agree that your problem is much harder than it should be and I think it is due to the format() filter not being fit for use in map().
Nevertheless here are 3 versions how you could solve this problem in Jinja2:
{{ list | map('regex_replace', '(.*)', '\\1:443') | join(',') }}
{{ list | zip_longest([], fillvalue='443') | map('join', ':') | join(',') }}
{% for item in list %}{{item}}:443{%- if not loop.last %},{%- endif %}{%- endfor %}
I wish the following would be possible: {{ list | map('format', '%s:443') | join(',') }}