Text-shadow sozinho garante contraste suficiente sobre qualquer foto?
Não garante, porque a razão de contraste da WCAG 2.1 compara texto e fundo pixel a pixel, e uma foto tem luminância variável; um text-shadow fixo ajuda nas regiões mais uniformes da imagem, mas falha justamente onde a foto muda de clara para escura embaixo do próprio texto.
Qual opacidade de overlay preciso para passar no critério 1.4.3 da WCAG?
Não existe um número universal, porque depende da cor do texto e da luminância média da foto sob o overlay; a prática comum começa em 40% a 50% de preto e sobe até a razão medida, com uma ferramenta de contraste, chegar a 4.5:1 para texto normal ou 3:1 para texto grande.
Por que meu título fica legível no preview mas ilegível no celular?
Fotos redimensionadas para tela pequena perdem detalhe fino e às vezes ganham mais contraste interno por causa da compressão, então uma combinação de sombra e overlay calibrada no desktop pode não sobrar margem suficiente numa tela menor; teste sempre no tamanho real de exibição, não só ampliado.
Dá para usar text-shadow e overlay juntos sem exagerar no efeito?
Dá, e é a combinação mais robusta: um overlay leve de 30% a 40% resolve o contraste médio da imagem inteira, e uma sombra curta de 2 a 3px de blur só reforça a borda das letras nos pontos onde o overlay sozinho ainda deixa a leitura marginal.