No link que você fornece, ele afirma claramente que, para campos TEXT, "O comprimento máximo efetivo é menor se o valor contiver caracteres multibyte. "
UTF-8 é um conjunto de caracteres Unicode e o padrão para seu banco de dados. Ele usa representações de 1 byte para os primeiros 128 caracteres, que correspondem ao conjunto ASCII, e representações de 4 bytes para o restante dos caracteres.
Isso significa que uma coluna TEXT pode ter mais ou menos caracteres armazenados dependendo se os caracteres são ASCII ou não.
Agora, seu problema ocorre quando o driver MySQL não lida com isso corretamente e presumirá que todos os caracteres UTF-8 têm 4 bytes de largura , e dividirá o Comprimento da Coluna pelos 4 bytes e passará isso para a DataTable como o Comprimento do Campo real. Isso significa que é tecnicamente possível ter algum texto em seu banco de dados que não caiba na DataTable, como aconteceu no seu caso.
A solução (ou solução alternativa neste caso) para o seu problema é exatamente o que você fez por enquanto, que é alterar a coluna para um tipo que possa conter mais caracteres, como MEDIUMTEXT ou LONGTEXT.
Meu palpite é que essa decisão foi tomada para simplificar a implementação do MySQL Driver, mas eu gostaria de enviar um relatório de bug para a Oracle.