Still early rendering should be avoided whenever possible. Did you try to return the unrendered view in an ajax command?
$view = views_embed_view('user_admin_people', 'page_1');
$ajax_response->addCommand(new HtmlCommand('#wrapper', $view));
AllIf you use the unrendered build array all the things you've described in the question like reattaching drupal behaviors, js, and css should beare handled by the ajax implementation in drupal, on the server side when assembling the response and on the client side when processing the incoming json data.
For this to work ajax hasyou also need to be enabledenable the option "Use AJAX" in the view user_admin_people
of course if you don't want, otherwise the "Filter" button to rebuildrebuilds the form on a new page, which then happens to be the admin page.