The reason it does not work is that you are not creating a acf field reference when using update_post_meta(). Without the field key reference ACF does not know that the value you entered is for a relationship field. When you use update_field() acf creates the key reference.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users