After further investigation, this appears to be a Firefox issue rather than a jQuery issue because the mouseout event is also not firing properly in Firefox in this situation. I ended up working around all of this by using mousemove and checking for the target and relatedTarget of the event. When this situation happens (after the alert pops open) the mousemove event target is null and the related target is undefined only in the menu section of the page so by checking for that we know that we're in that section and we can handle it appropriately.
Here is the code we ended up using:
$(document).on('mousemove', function(e) {
if (!e.target.tagName && !e.relatedTarget) {
console.log('mouseleave');
}
});