The description
param unfortunately is not used in this control. You can see that the message is hard-coded in the control’s template. That should be changed in core, but in the mean time, you can enqueue some JS at the customize_controls_enqueue_scripts
action with the dependency of customize-controls
which does this:
wp.customize.control( 'header_image', function( control ) {
control.deferred.embedded.done( function() {
var el = control.container.find( '.customize-control-description' );
el.html( control.params.description );
} );
} );
This JS will continue to work if the control’s description
param starts to be used in core in a future release.