How do I load the $form_state for a form loaded with drupal_get_form? Or is drupal_get_form not the right way to go about loading node forms where I want to also get the $form_state?

The reason I am asking is I would like to be able to place multiple node forms on the same page and have them editable (not in a popup) on the same form as the parent form. I have already tried inline_entity_form and that would almost work, however that module does not load the entire form inline with the rest of the parent node form. Rather it places the referenced nodes in a table that you then interact with and save separately.
When you do drupal_get_form() the form and state is cached, otherwise other Drupal form functions wouldn't be able to get it back later.

The only way I know to get it is like this:

// Get the form.
$form = drupal_get_form('my_form_id');
// Get the default form state.
$form_state = form_state_defaults();
// Get the form and form state from the cache for the form you just got.
form_get_cache($form['#build_id'], $form_state);


Since form_get_cache() returns the form also you could do the last line like this:

$form = form_get_cache($form['#build_id'], $form_state);


and it would overwrite your form with the cached one and update your form state (since $form_state is passed by reference) but in the case of calling it right after drupal_get_form() there is no need to do that.