While there is a problem with core (http://drupal.org/node/1284642) that causes Metatag to require some work-arounds instead of just adding the fields directly inside metatag_field_attach_form, I don't believe all of the code needs to be there. See if the majority of the code can be moved back into metatag_field_attach_form, leaving the limited pieces in metatag_form_alter that have to be there.
Making this a stable release blocker as it would greatly help DX for people trying to customize the form.