How is it possible to get top comment from all children?

You could adapt get_post_acestors(), and write a similar function for comments. Here is an example that returns the top comment’s id or false. Not tested!

function get_root_comment( $comment_id ) {
    
    $comment = get_comment( $comment_id );  
 
    if ( ! $comment 
        || empty( $comment->comment_parent ) 
        || $comment->comment_parent == $comment_id 
    ) {
        return false;
    }
 
    $ancestors   = [];   
    $id          = $comment->comment_parent;
    $ancestors[] = $id;
 
    while ( $ancestor = get_comment( $id ) ) {
        
        if ( empty ( $ancestor->comment_parent ) ) {
            return $id;
        }
        
        // self-reference
        if ( $ancestor->comment_parent == $id ) {
            return $id;
        }
        
        // loop
        if ( in_array( $ancestor->comment_parent, $ancestors, true ) ) {
            return $id;
        }
 
        $id          = $ancestor->comment_parent;
        $ancestors[] = $id;
    }
}

Usage in other code with a WP_Comment object:

$root_comment = get_root_comment( $comment_obj->comment_ID );

if ( $root_comment ) {
    // do something with the ID
}