I finally figured this one out. Turns out I was so focused on filters and actions that I forgot about the basics.

In order to preserve any custom URL parameters after saving a post (via submitting the form) do the following:

Filter your admin URL with a conditional that checks for the parameter you want to preserve ([based on this answer][1]), like this:

    add_filter('admin_url','add_fullscreen_param');
    function add_fullscreen_param( $link ) {
    	if(isset($_REQUEST['fullscreen']) && $_REQUEST['fullscreen'] == '1') {
    		$params['fullscreen'] = '1';
    	}
    	$link = add_query_arg( $params, $link );
    
    	return $link;
    }

Then, all you have to do is make sure you send that request along with your form, because it will activate the filter above prior to redirecting back to your post / page / custom post type. To do this, simply add a hidden input.


	if(isset($_REQUEST['fullscreen']) && $_REQUEST['fullscreen'] == '1') {	
		echo('<input type="hidden" name="fullscreen" value="1" />');
	}

So if you access `/wp-admin/post.php?post=100&action=edit&fullscreen=1`, that last parameter will be there after saving the form.

  [1]: https://wordpress.stackexchange.com/questions/4618/preserve-custom-url-parameter-on-more-pages