Buffered output in chunks and shortcode – how do I achieve that?

Chunks are irrelevant. Just use output buffering to capture the entire output and then return the result at the end:

function buffered_source_to_table( $attrs ) 
{
    ob_start();

    for($row_values as $r) {
        echo $r.'<br>';
    }
    
    return ob_get_clean();
}

After ob_start(); any output (from echo, for example) is captured by the output buffer. You then just need to return the contents of the buffer for your shortcode.