okay, so I overlooked something simple earlier
you are using $url = the_field()
It should be $url = get_field()
<?php
$queried_object = get_queried_object();
$post_id = $queried_object->ID;
if( get_field('redirect', $post_id) ): ?>
<?php
$url = get_field('redirect', $post_id);
?>
<?php
header("Location: $url?". $_SERVER['QUERY_STRING'], true, 301);
exit;
?>
<?php endif; ?>