I have the exact same code in production and sandbox. Things look as expected in sandbox, but in production I can see different css being applied. In Production the lightning input field is being rendered with a class of slds-form-element_horizontal. That class isn't applied in Sanboxes though.
<template>
<lightning-record-edit-form record-id={contactId} object-api-name="Contact">
<div class="slds-grid">
<div class="slds-col slds-size_2-of-12"></div>
<div class="slds-col slds-size_3-of-12">
<lightning-input-field disabled field-name="FirstName">
</lightning-input-field>
</div>
<div class="slds-col slds-size_3-of-12">
<lightning-input-field disabled field-name="LastName">
</lightning-input-field>
</div>
<div class="slds-col slds-size_4-of-12">
</div>
</div>
</lightning-record-edit-form>
</template>