In this case this was being caused due to a user-override configuration set to the following:
What that setting does is set every users default shell to whatever you would like to set it too as long as the shell exists on the system. In this case it is set to /bin/bash, therefore regardless of what the attribute is set to in AD for that user it will be overridden to whatever it is set to on the particular system it is configured for. This is useful in situations where on a particular OS a user requires one shell but on another OS a different shell.
Removing the setting is one possible solution however there may be users who require this to be set therefore it is possible to also add the users for whom this shell is not desirable to the user-override file.
In this example, in the user-override file (/etc/opt/quest/vas/user-override) every user logging in has their default shell set to /bin/bash except for jdoe whose default shell is being set to /bin/sh.