Sounds to me like rewrite is actually working perfectly. Your usage of placeholders seems a little odd, though. When dealing with a request for http://something/, in this instance:
{path} is /
{host} is something
{query} is empty
Your rewrite tries the following three requests, in order, until one works:
{path}/{host} effectively becomes http:///something - this will probably wig out entirely on the triple slash, but may instead look for an index file in the document root and fail on that;
{path}/{host} becomes http:///something/, not much better;
My guess is your document root has no index files (and no index.php), so when Caddy gets to step 3 there it tries to fob the problem off on fastcgi, which tells you straight up there’s no index file.
This is a 404 error. Caddy (or fastcgi) can’t find an index.php to serve for the request. Either there is no index.php in the document root, or the permissions are set such that Caddy can’t read it.