Insert HTML in post, below nav bar but above content?

Edit your single.php or single-post.php template, depending on which one is present and in use with your theme.

The JS file should be registered and conditionally enqueued when the template is loaded. This allows for dependency management and lots of other easy management actions.

Another way to consider is make your menu an actual WordPress menu or a widget and register a sidebar in your single.php template. Either way, you have the benefit of managing the content via the CMS as intended.

EDIT: your theme is likely making use of body classes which makes it very easy to know which template you need to edit. Look at the body tag and inspect the classes there.