title: Cypress blur events (when input loses focus) are not triggered with headless "cypress run --browser firefox" but work with "cypress open"
body: <p>I'm testing an Angular application with Cypress 10.4. There's a test that fails only with Firefox headless because an element that should contain a calculated sum isn't updated. Sums are calculated and updated correctly with Chrome headed/headless and Firefox headed.</p>
  <p>The workflow that works is the following:</p>
  <ol>
  <li>Type a number to #Expense_meter_start</li>
  <li>When #Expense_meter_start loses focus (blur event) a POST request is made and the sum is updated in UI</li>
  <li>Type a number to #Expense_meter_start</li>
  <li>When #Expense_meter_start loses focus a POST request is made and the sum is updated in UI</li>
  <li>The element containing the sum can be asserted</li>
  </ol>
  <p>When I run &quot;cypress open&quot; and run the test with Firefox test passes. I can see the POST requests made when the elements lose focus.</p>
  <p><strong>Problem: When I run &quot;cypress run --browser firefox&quot; the test fails each time. The sum is not what is expected.</strong>
  What I tried:
  -I took screenshots and validated that the sum is indeed not updated even if the fields have values correctly.
  -I created an intercept for the POST API calls. The calls are not happening with &quot;cypress run --browser firefox&quot;. But the same calls are happening when using &quot;cypress open&quot;.</p>
  <pre><code>    describe(&quot;Fails on headless Firefox&quot;, () =&gt; {
    it(&quot;tests blur events&quot;, () =&gt; {
      cy.visit(&quot;/&quot;);
      cy.intercept({ method: 'GET', url: '**/api/invoiceCalls/*' }).as(&quot;invoiceCalls&quot;);
  
      // Click to create new Invoice
      cy.contains(&quot;New invoice&quot;).click();
  
      // Save on dialog
      cy.get('.--primary &gt; .button-container &gt; .button-text').click();
      cy.wait(&quot;@invoiceCalls&quot;);
  
      // Type start amount
      cy.get(&quot;#Expense_meter_start&quot;).click().clear().type(&quot;200000&quot;); // When this element loses focus aka blur event happens, POST call should happen
  
      // Type end amount
      cy.get(&quot;#Expense_meter_end&quot;).click().clear().type(&quot;200050&quot;); // When this element loses focus aka blur event happens, POST call should happen
  
      // Type explanation of driving route
      cy.get(&quot;#Travel_expense_route&quot;).click().clear().type(&quot;Koti-Lentokenttä&quot;);
  
      // Check that sum is calculated
      cy.get(&quot;#Sum&quot;).should('have.text','50');
  
      // Click Save
      cy.get('#Save').click();
  
  });
  </code></pre>