Sim, a soma de dois valores do tipo char não retorna um char, conforme lido na documentação do C#: https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/language-specification/types#integral-types (se o link não redirecionar para o trecho específico da página, o item a se procurar é o trecho falando de "Tipos integrais").
O primeiro parágrafo com a primeira lista desse trecho da página descreve todos os tipos integrais, seus tamanhos e valores aceitáveis, mas o importante é o parágrafo abaixo da primeira lista, que descreve as operações entre os tipos inteiros, e está replicado logo abaixo (e destacado por mim):
Os operadores unários e binários de tipo integral sempre operam com precisão de 32 bits assinada, precisão de 32 bits sem sinal, precisão de 64 bits assinada ou precisão de 64 bits não assinado:
- [...]
- Para os operadores binários +, -, , /, %, &, ^, |, ==, !=, >, <, >= e <= , *os operandos são convertidos no tipo T, em que T é o primeiro de int, uint, long e ulong que pode representar totalmente todos os valores possíveis de ambos os operandos. Em seguida, a operação é executada usando a precisão do tipo T e o tipo do resultado é T (ou bool para os operadores relacionais). Não é permitido que um operando seja do tipo long e o outro seja do tipo ulong com os operadores binários.
Conclusão: no caso de operações entre valores do tipo char, os operadores sempre convertem o resultado para int.