Not in the way that is described here. I took "always treat strings as opaque high level objects with dynamic memory allocation under the hood" to mean that the string would have operations, like append, that would reallocated/resize the string if needed. C strings are definitely not that.
> with dynamic memory allocation under the hood
C strings are typically dynamically allocated, are they not?