gitlab-runner overwriting config toml file on startup

Version 15.9.0 of gitlab runner is overwriting the config toml file on start, altering indentation, removing comments and re-ordering keys. The input file gitlab is being given is valid TOML, it should not be altering the config file.

Example config file:

concurrent = 1
check_interval = 0
user = "gitlab-runner"
shutdown_timeout = 0

[session_server]
  session_timeout = 1800

[[runners]]
# this is a comment
token = "xxxxyyyyyyzzzzzzz"
# this is another comment
  name = "gitlab-runner"
  request_concurrency = 2
  url = "https://gitlab.test.com/"
  id = 0
  token_obtained_at = 0001-01-01T00:00:00Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "docker"

This file is valid TOML. That If I start gitlab runner with that configuration then the file is overwritten with this:

concurrent = 1
check_interval = 0
user = "gitlab-runner"
shutdown_timeout = 0

[session_server]
  session_timeout = 1800

[[runners]]
  name = "gitlab-runner"
  request_concurrency = 2
  url = "https://gitlab.test.com/"
  id = 0
  token = "xxxxyyyyyyzzzzzzz"
  token_obtained_at = 0001-01-01T00:00:00Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "docker"

The comment has been stripped out, the token line has been moved and additional whitespace has been added. There does not appear to be a way to prevent this modification to the file. This does not occur with previous versions of gitlab-runner and the release notes do not mention this as a behavioural change.