This:
update_post_meta(42, 'my_meta_key', [
'my_meta_value_1',
'my_meta_value_2',
'my_meta_value_3',
]);
Changes a single post meta, but the value is an array, and you can’t put a array in the database, it wants a string for that column. So WordPress serializes it into a string and saves the result.
So I have a question, are either of these two ways of saving data better than the other?
Yes! Serialized data is bad, it’s difficult to query (sometimes imposssible), has a tiny additional overhead, and it exposes you to object deserialisation attacks.
If you want to store a list of 10 things, store 10 meta, not 1 meta with an array. If you really must do it, turn it into a comma separated list first or JSON encode it.