em algumas fontes, como o artigo original de Martin Fowler, não está escrito que os métodos retornariam o mesmo objeto, e os métodos nos exemplos retornam objetos diferentes, mas em algumas fontes (mais recentes), como a Wikipedia , está escrito que o método retornaria o mesmo objeto, qual é correto?
Não existe uma maneira correta ou correta de escrever uma interface fluente.
Até o artigo de Fowler usa os dois tipos de objetos retornados, mas você não vê isso facilmente porque mostra o uso, não a implementação.
Normalmente quando você está configurando algum objeto, só fará sentido retornar o mesmo objeto. Caso contrário, você teria que cloná-lo primeiro e depois aplicar um valor adicional.
Mas há cenários em que a interface fluente eventualmente retornará algum outro objeto na sequência, independentemente de ser o mesmo ou de algum outro tipo.