Postgres `log_disconnections = on` does not log disconnects
To debug non-working configuration settings, you can verify at runtime what the value is, and where it came from by querying the view pg_settings
select setting, source, sourcefile, sourceline 
from pg_settings 
where name = 'log_disconnections'

The columns sourcefile and sourceline will tell you where the currently active value was taken from.
If you find a value from postgresql.auto.conf the value was applied through ALTER SYSTEM and the correct way to remove it, is to use ALTER SYSTEM again.