In answer to your questions, there's no way to remove the index.php from the url short of editing the code for that special case.
But the sitemap won't override the canonical - it's the other way around. So it doesn't matter that there is a link to index.php in the sitemap file. There will also be a link to it, maybe many, in the shop. It's a non-issue.