HAProxy doesn't automatically reload DNS

The hostname used for server is resolved during haproxy startup when configuration file is parsed or during health checks. You don't have any checks defined for your server so you can get updated hostname only during restart/reload. If you want server hostname to be updated at runtime you need to define health checks.

See HAProxy documentation Server IP address resolution using DNS for details.