I need to refresh page to display wp_get_current_user() : why?

This is because of your plugin code is executed much earlier, than wp-login.php. You can read about WordPress loading sequence here, for example.

To behave properly, your code must be executed in ‘wp_login’ hook:

add_action( 'wp_login', 'wp_login_action', 10, 2 );
function wp_login_action( $user_login, $user ) {
    current_user = wp_get_current_user();
    print_r($current_user);
}