If I understand your question, the issue is that anything within the while
loop will get repeated for each post. If you want to wrap all posts in a single set of <ol></ol>
tags, those must go outside that while
statement.
if ( $the_query->have_posts() ) :
// open the <ol> outside the loop
echo '<ol class="col-neigh-title neighborhood">';
// anything inside here is repeated for each post
while ( $the_query->have_posts() ) :
$the_query->the_post();
?>
<li><a href="https://wordpress.stackexchange.com/questions/114741/<?php the_field("url_neighborhood' ); ?>"><?php the_field( 'neighborhood_name' ); ?></a></li>
<?php
endwhile;
// close the <ol> outside the loop
echo '</ol>';
endif;