Changing port backend doesn't work since in memory value is not changed

Hi,
I am facing an issue when changing the port of an already existing backend. It use to be 443, all good, but when I change it to something else the healthchecks are fine but the value in memory is still 443. Not even restarting HAProxy helps.

[root@haproxy01 ~]# echo "show servers state dmtest_ssl_back" | socat stdio /var/lib/haproxy/stats
1
# be_id be_name srv_id srv_name srv_addr srv_op_state srv_admin_state srv_uweight srv_iweight srv_time_since_last_change srv_check_status srv_check_result srv_check_health srv_check_state srv_agent_state bk_f_forced_id srv_f_forced_id srv_fqdn srv_port srvrecord
30 dmtest_ssl_back 1 app17 10.11.5.184 2 0 1 1 57 9 3 6 6 0 0 0 - 443 -
backend dmtest_ssl_back
  mode http
  timeout connect 5s
  timeout server 31s
  server app17 10.11.5.184:8444 check check-ssl port 8444 inter 5s fall 4 rise 3 ssl verify none

this is the process:

[root@haproxy01 ~]# ps aux |grep hapro
root     28480  0.0  0.4 276520 146236 ?       Ss   14:02   0:00 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -sf -f /etc/haproxy/program
root     28481  0.1  0.1 724160 45468 ?        Sl   14:02   0:03 dataplaneapi --scheme=https --host=0.0.0.0 --tls-certificate=/etc/haproxy/api/haproxy.domain.de.pem --tls-key=/etc/haproxy/api/haproxy01.domain.de.nopw.key --tls-port=5555 --maps-dir=/etc/haproxy --update-map-files --update-map-files-period=5 --haproxy-bin=/usr/sbin/haproxy --config-file=/etc/haproxy/haproxy.cfg --reload-cmd=systemctl reload haproxy --reload-delay=5 --userlist=dataplaneapi
root     28482 29.9  0.7 542400 232752 ?       Sl   14:02  15:43 /usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -sf -f /etc/haproxy/program
root     31095  0.0  0.0 112712   980 pts/0    R+   14:55   0:00 grep --color=auto hapro

Program is:

program api
    command dataplaneapi --scheme=https --host=0.0.0.0 --tls-certificate=/etc/haproxy/api/haproxy.domain.de.pem --tls-key=/etc/haproxy/api/haproxy01.domain.de.nopw.key --tls-port=5555 --maps-dir=/etc/haproxy --update-map-files --update-map-files-period=5 --haproxy-bin=/usr/sbin/haproxy --config-file=/etc/haproxy/haproxy.cfg --reload-cmd="systemctl reload haproxy" --reload-delay=5 --userlist=dataplaneapi
    no option start-on-reload

Version is:

[root@haproxy01 ~]# haproxy -v
HA-Proxy version 2.0.14 2020/04/02 - https://haproxy.org/

I think it has to do with the way we dump in memory content to state file.

[root@haproxy01 haproxy]# cat /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=network.target

[Service]
Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy.pid"
EnvironmentFile=-/etc/sysconfig/haproxy
ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q
ExecStart=/usr/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE $OPTIONS
ExecReload=/usr/sbin/haproxy -f $CONFIG -c -q
ExecReload=/etc/haproxy/server-state/update-servers-status.sh
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed
Type=notify

and here update-server-status.sh

[root@haproxy01 haproxy]# cat /etc/haproxy/server-state/update-servers-status.sh
#!/bin/bash
/usr/bin/socat /var/lib/haproxy/stats - <<< "show servers state" > /etc/haproxy/server-state/state

Is this correct? To execute the dump script on reload?