Oracle does dynamic type casting where possible. This is one of those cases where it is possible, so Oracle does it. No corruption will occur.
There are two basic ways of putting a date into a text field.
1. date function --> text field
2. date string --> text field.
In the first case, Oracle automatically casts the date as text. In the second case, the date is already a string and no casting is necessary.