I believe the function
libraries/joomla/form/field.php is the one returning the rendering path, and the bug is there. I haven't tested this, but a quick search in the filesystem points me to that function.
In any case, you don't need, in my opinion, to go through the hassle and override the renderfield.php. You can just override the
com_contact/views/contact/tmpl/defaut_form.php ) and replace the following line:
<?php echo $field->renderField(); ?>
with a call to your function
<?php echo myRenderField($field); ?>
myRenderField will render
$field in the way that you want.