Affirmative, that is accurate.
Whether or not UTF-16 is utilized in memory depends on the specific framework being used, as it is just an implementation detail. In the context of JavaScript, strings are represented in UTF-16 format.
When it comes to WebSocket communications, UTF-8 is required for transmitting textual data over the wire (as most Internet protocols now use UTF-8). This requirement is outlined in the WebSocket protocol specification:
Following a successful handshake, clients and servers exchange data in conceptual units called "messages." A message comprises one or more frames when sent through the network. The concept of a WebSocket message does not necessarily correspond directly with a particular network layer framing, as a fragmented message may be merged or split by intermediaries.
Each frame is assigned a type, with frames belonging to the same message containing data of the same type. Generally speaking, there are types dedicated to textual data (interpreted as UTF-8 [RFC3629] text), binary data (application interpretation), and control frames (used for protocol-level signaling, such as connection closure signals). The current version of the protocol defines six frame types and reserves ten for future use.
...
Data frames (non-control) are distinguished by opcodes where the leading bit is 0. Existing opcodes include 0x1 (Text), 0x2 (Binary). Opcodes 0x3-0x7 are set aside for potential new non-control frames.
Data frames hold application-layer and/or extension-layer data. The opcode dictates how the data should be understood:
Text
The "Payload data" consists of UTF-8 encoded text. While a text frame could contain an incomplete UTF-8 sequence, the complete message MUST contain valid UTF-8. Managing invalid UTF-8 sequences in reconstituted messages is addressed in Section 8.1.
Binary
The "Payload data" constitutes arbitrary binary data left for the application layer to interpret.
While there is slight overhead incurred from converting between UTF-16 and UTF-8, this impact is negligible on modern machines, and transitions between UTF formats do not result in data loss.