Problem solved. Somehow a subfield of a repeater field has gotten a conditional logic which was enabled to a parent field even as the content was blank. I’m sure the customer has gotten in there somehow and messed around. Thanks!
There is a much easier solution given that the field exists on a given post, which you already seems to assume with your current code.
$field = get_field_object('listing_type');
$field_key = $field['key'];
Done.