o que ele te sugeriu é o que o marcado usa, o famoso RBAC que é acesso baseado em funções de usuário sendo o usuário uma entidade única, e os acessos de que ele pode fazer serem ageegados ao usuário. não vou repetir a conclusão pois a conclusão que fez está correta.
o que me causou certa estranheza é o fato da primeira opção ser separar em 2 tabelas, na sua conclusão vejo que compreende que é melhor otimizar as coisas e quando falamos de banco de dados quanto menos entidades semelhantes vc tiver é melhor, observando claro os conceitos de normalização de dados quando aplicáveis.
já vi muitas vezes gente criando tabela para clientes e fornecedores com os mesmos campos, coisa que um simples campo tipo já resolveria, isso não só aumenta complexidade de codificação quanto aumenta complexidade de inovação.