If I am correct, those two js files are "only" loaded by WP itself for use in the back-end(Admin), but not (and WP would not load them if no need for it) in the front-end.
As soon a plugin needs them, they will be loaded (e.g. through a function) in the front-end.
(which seems not in your case because you said 'Even if I turn off all plugins')
What also belongs to be a reason to load those two js files in the front-end, can be inside your Theme. (Think about functions which need them to load/show "stuff")
- Is it bad? Not at all.
- Can they be in the footer? Yes they can/should*(performance wise a good solution)*
As mentioned by yourself you could defer them. (which imho is not the optimum solution)
Note: Take a look in 'all' theme files (not only in the child-theme files if you use a child-theme), if there is mentioned anywhere the word jquery or jquery-migrate.min (but I assume you already did).
That said, by using the following function (which can be add in your (child)Theme functions.php file) those two files will be "forced" into the footer.
I hope this helps you a little on your way and maybe is what you where looking for.
/**
* Force scripts into Footer
* @link https://developer.wordpress.org/reference/since/4.2.0/
*/
function enqueue_scripts_in_footer() {
wp_deregister_script( 'jquery' ); // https://codex.wordpress.org/Function_Reference/wp_deregister_script
wp_deregister_script( 'jquery-migrate.min' );
wp_register_script( 'jquery', '/wp-includes/js/jquery/jquery.js', array(), false, true );
wp_register_script( 'jquery-migrate.min', '/wp-includes/js/jquery/jquery-migrate.min.js', array(), false, true );
wp_enqueue_script( 'jquery', '/wp-includes/js/jquery/jquery.js', array( 'jquery' ), false, true );
wp_enqueue_script( 'jquery-migrate.min', '/wp-includes/js/jquery/jquery-migrate.min.js', array( 'jquery-migrate.min' ), false, true );
}
add_action( 'wp_enqueue_scripts', 'enqueue_scripts_in_footer' );
As reference to look up what is happening in the function, take a look here: