Dynamic sidebar rendered in another place than i would like

You shouldn’t save dynamic_sidebar in a variable because it always echoes out the widget. the following should work.

<?php

echo '<div class="row-container">
<div class="row row-parent' . $row_classes . $limit_content_width . '">
    <div class="row-inner">';
     if(($layout === 'sidebar_right') && is_active_sidebar( 'sidebar-messages-single' )) {
        dynamic_sidebar( 'sidebar-messages-single' );
     }
      echo '<div class="col-lg-' . $sidebar_size . '">
            <div class="uncol style-' . $portfolio_style . $expand_col . $sidebar_padding . (($sidebar_fill === 'on' && $portfolio_bg_color !== '') ? '' : $sidebar_sticky) . '">
                <div class="uncoltable' . (($sidebar_fill === 'on' && $portfolio_bg_color !== '') ? $sidebar_sticky : '') . '">
                    <div class="uncell' . $sidebar_inner_padding . '">
                        <div class="uncont">
                            <div>';
                                 if(is_active_sidebar( 'sidebar-messages-single' )) {
                                     dynamic_sidebar( 'sidebar-messages-single' );
                                 }
                               echo '</div>
                            ' . $footer_content . '
                        </div>
                    </div>
                </div>
            </div>
        </div>';
         if(($layout === 'sidebar_left') && is_active_sidebar( 'sidebar-messages-single' )) {
            dynamic_sidebar( 'sidebar-messages-single' );
         }
    echo '</div>
</div>
</div>';