Create a new post on a specified publish date via link?

Here is the solution I came up with!

In my plugin functions:

<?php
function ficma_inline_script() {
    $datedata = explode("-", $_POST['date']);
    $year = $datedata[0];
    $month = $datedata[1];
    $day = $datedata[2];
    $newdate = date("M d, Y", mktime(0, 0, 0, $month, $day, $year));
?>
<script type="text/javascript">
document.getElementById("mm").value = "<?=$month ?>";
document.getElementById("cur_mm").value = "<?=$month ?>";
document.getElementById("hidden_mm").value = "<?=$month ?>";
document.getElementById("jj").value = "<?=$day ?>";
document.getElementById("cur_jj").value = "<?=$day ?>";
document.getElementById("hidden_jj").value = "<?=$day ?>";
document.getElementById("aa").value = "<?=$year ?>";
document.getElementById("cur_aa").value = "<?=$year ?>";
document.getElementById("hidden_aa").value = "<?=$year ?>";
document.getElementById("timestamp").innerHTML = "Publish date: <b><?=$newdate ?></b>";
document.getElementById("title").value = "<?=$titledate ?>";
alert("Script loaded inline! <?=$newdate ?> / <?=$titledate ?>");
</script>
<?php
}

global $pagenow;
if (!empty($pagenow) && 'post-new.php' === $pagenow && isset($_POST['date']) && $_POST['date'] != "") {
    add_action('admin_footer', 'ficma_inline_script');
}
?>

And in my content:

<form id="<?=$formname ?>" method="post" action="<?=admin_url() ?>post-new.php" target="_blank" class="ficma-form">
    <input type="hidden" name="date" value="<?=$caldate ?>" />
    <input type="submit" name="submit" value="+" class="ficma-form-submit" style="<?=$ficma_color_add_post_link ?>" />
</form>

The key was loading the JS in the admin footer so the field values were updated after the form fully loaded.

It was also important to set the values of the hidden_* fields. Without changing them, if you clicked the Edit link to change the publish date, then canceled, the values would reset to the current date.

*Edited 24 April 2017: Added some JS-changed values. Custom date is not preserved when Save as Draft, Save as Pending, or Publish button is clicked, however; search for a fix is underway.