Olá Yuri, segundo a documentação MDN Web Docs o o firstletter (que aceita duas sintaxes -> :firstletter e ::firstletter) pode retornar em negrito não necessariamente a primeira letra da linha de um bloco em alguns casos:
"A primeira letra de um elemento não é necessariamente uma identificação trivial:
- Pontuação, que é qualquer caractere definido em Unicode de abertura (Ps), de fechamento (Pe), aspa inicial (Pi), aspa final (Pf) e outras pontuações (Po), precedendo ou imediatamente após a primeira letra também é correspondida por esse pseudo-elemento;
- Da mesma forma, alguns idiomas têm dígitos que são sempre escritos em maiúsculas, como o IJ em holandês. Nesses casos raros, as duas letras do dígrafo devem corresponder ao pseudo-elemento :: first-letter. (Isso é pouco suportado pelos navegadores, verifique a tabela de compatibilidade);
- Finalmente, uma combinação do pseudoelemento :: before e a propriedade content podem injetar algum texto no início do elemento. Nesse caso, ::first-letter corresponderá à primeira letra deste conteúdo gerado. "
Referencia: https://developer.mozilla.org/pt-BR/docs/Web/CSS/::first-letter
Espero ter ajudado, bons estudos!