O comportamento do Upstart é como especificado e não é um bug - os serviços são limitados pela sua própria configuração e não pelos limites de segurança (que ligam processos do usuário para os quais não há outra definição) e por isso é segurança limites).
Houve algum trabalho para implementar um arquivo de padrões "configuração global" para o Upstart , mas parece ter sido negligenciada (possivelmente devido ao não comprometimento dos desenvolvedores do Upstart).
IMO sua melhor opção é criar um arquivo de substituição com apenas a diretiva limit nofile
e copiá-lo para substituir todos os serviços existentes do upstart. Algo parecido com isto:
for file in /etc/init/*.conf
do echo "limit nofile 65000 65000" > "${file%%.conf}.override"
done