My HTML:
<div class="text-sm margin-bottom-xs" id="abcDiv">
<div>
<p class="padding-bottom-xs label_styles">Message</p>
<vaadin-text-area id="abc" style="border: 1px solid black; padding: 1em; width:100%"></vaadin-text-area>
</div>
</div>
And it looks like this:

As seen in the V14 documentation, the TextArea component does, in fact, wrap text inside it by default through
white-space: pre-wrap. Perhaps you have some custom CSS in your application that overrides that?