Só para comentar mesmo, resolvi fazer o desafio antes de ver a resposta e minha solução foi:
select
JSON_EXTRACT(`JSON`, "$.Primeiro_Nome") as first_name,
JSON_EXTRACT(`JSON`, "$.Nome_Meio") as middle_name,
JSON_EXTRACT(`JSON`, "$.Ultimo_Nome") as last_name
from tb_object_funcionario
WHERE JSON_EXTRACT(`JSON`, "$.Dependentes[0]") is null
Visto que os dados dos dependentes já estão na tabela tb_object_funcionario, creio que bastaria consultar se o primeiro dependente não está presente, dessa forma a consulta fica mais sucinta. Está correto também?