Might be inheriting the umask of the parent process. Although you explicitly set it, I would take a poke at that.
How is syslog-ng being started? Can you unset it or set it to 0000 before starting syslog-ng as a test?
-------- Original message --------
From: Declan White <declanw@is.bbc.co.uk>
Date: 2/9/18 12:01 PM (GMT-05:00)
To: Syslog-ng users' and developers' mailing list <syslog-ng@lists.balabit.hu>
Subject: Re: [syslog-ng] Umask funkiness
Already tried directory mode 04750 - no dice. It strips the g+s.