That’s all fine for URLs without the index.php. The index.php you see in the rule set is used internally, it doesn’t directly relate to the URL seen in the address bar.
I investigated a bit more on a plain vanilla, bog standard WP installation with the same permalink structure as yours. The URL example.com/index.php/page-name/ will get rewritten to example.com/page-name/ without any rewrite rules, assuming “page-name” is a valid page name slug. This behavior is not related to any .htaccess rules. It’s due to WP trying to fulfill an ambiguous request.
By default, the index.php element in our example URL should be the parent page of “page-name”. WP knows there is no such page name, but it can find a “page-name” page with no parent page, so WP ignores the index.php part of the request and serves the page-name URL, while 301 redirecting to its canonical URL example.com/page-name/.
In other words, WP should properly handle the unnecessary index.php within an URL on its own. No added .htaccess rules needed. I’m not sure what causes a “No input file specified” message. There is no such message in the core WP language files. It’s likely due to a plugin you’re using. Does this happen to only the index.php/reservations-hp request, or any page request including index.php?
As a test, deactivate all plugins, then visit the permalinks settings screen. The permalinks screen will flush and regenerate rewrite rules on load. No need to change or save anything, just load the screen. Now index.php/reservations-hp/ should load the page with that slug and 301 redirect to its canonical URL.
To narrow down which plugin was responsible for the no input file message, reactivate each plugin, one at a time, also revisiting permalinks settings each time. When you get the no input file message again, the last activated plugin is the cause. Seek assistance through that plugin’s dedicated support channel on what you should do so the normal WP 301 redirect process can properly occur.