How to update and save user metadata on page visits?

There are lots of actions you can hook into to do this, I think the best once to use would be wp or template_redirect.

Using either of those actions the code would be like this, this code goes into the functions.php

add_action('wp', 'bt_update_user_homepage_meta');
function bt_update_user_homepage_meta () {
    // get user id, if user is not logged in then it will be 0
    $user_id = get_current_user_id();

    // now we check if we are in front page or not and we update the user meta accordingly
    // if user is not logged in this code will try to update the meta for user 0,
    // because this user doesn't exist, nothing will happen
    if (is_front_page()) update_user_meta($user_id, 'pagehome', '1');
    else update_user_meta($user_id, 'pagehome', '0');
}