That URL is impossible to achieve. You cannot insert a route like that as an App. Shopify has zero support for you interjecting a route like /koatest. You can inject an App Proxy of course, but that is a different URL where you pick a prefix like /a or /tools or /community for your App. Perhaps you can better explain your issue.
Note that a development store is an actual store, so if you can indeed install your App and click it in the Admin Apps list, and then your App is successfully loaded and its homepage renders, assuming you have a homepage, well, that is as good as it gets.
In your App setup, in your Partner Account, you’ll see Extensions as part of your App. You can add a proxy there.
You do not need Heroku. App Proxy is 100% testable using localhost and ngrok, I do it all the time. Since you set up the App Proxy in your App itself, and that App is installed in the shop, when you make your Ajax call to /a/koatest or whatever, Shopify knows to send it to your ngrok tunnel since that is how you setup the App in the main section. Nothing to do there other than setup the proxy then.
As for your App itself, the proxy callback comes to the endpoint you specified in the App Proxy setup. So if you expect the signal at /koatest, then that is your endpoint. And don’t get confused on GET or POST as that is up to you in your Ajax call.
It is really quite simple, although there are some gotchas like the fact the merchant can change the endpoint and you’ll never know. But falalala… other than that, you’re good to go.