Enqueueing TinyMCE

You will need to set the third parameter of wp_register_script(), which is the dependency parameter, $deps.

In your code, this is currently set to false, which should actually just be left out or set to an empty array, array() if not needed. In your case, you will set this with the handle of the script you would wish to make it depended on. You can add more than one handle here if you need to make this depended on more than one script

The handle for the tiny mce script shipped with wordpress is tiny_mce, you you can try the following:

wp_register_script('admin_js', get_template_directory_uri() . '/assets/js/admin.min.js', array( 'tiny_mce' ) );

This will ensure that your script will not load before the tine mce script is loaded. Just a note here, make sure that your handles is uniquely named as this will cause issues if there is another script loaded with the same handle

EDIT

This new issue that you are facing now is that the tiny mce script is not loaded on every page, that is how it should be. Scripts and styles should not be loaded if not needed on a page.

This is the big issue with combining scripts, and you will most probably now be loading scripts and styles that is not needed on some pages. Setting a dependency will also not work, because, as you have seen, on pages where the tiny mce script is not loading, your custom script will not load.

The only other means to accomplish this is to remove the dependency and then use priority on your action, something like this

function custom_admin_style(){
        wp_register_style('admin_css', get_template_directory_uri() . '/assets/css/admin.min.css');
        wp_register_script('admin_js', get_template_directory_uri() . '/assets/js/admin.min.js');

        wp_enqueue_style('admin_css');
        wp_enqueue_script('admin_js');
}
add_action( 'admin_enqueue_scripts', 'custom_admin_style', PHP_INT_MAX );