I guess you are forced to work singularly on the exceptions like #yellow. This is a possible solution but it might take some css fixes (since the disabled droppables get a opacity: 0.35; But i can't think of any fix better than disabling the background when needed.
$( "#yellow" ).on( "dropout", function( event, ui ) {
$("#background").droppable('option', 'disabled', false);
} );
$( "#yellow" ).on( "dropover", function( event, ui ) {
$("#background").droppable('option', 'disabled', true);
} );
These options need to be added for each div which isn't inside the background.
REEDIT: add this to reenable the #background after dropping:
$( "#yellow" ).on( "drop", function( event, ui ) {
$("#background").droppable('option', 'disabled', false);
} );