Even though you now use PHP inside your files, you do not have to use ".php" in your URLs.
Keep both the same filenames and URLs as before, and set the server configuration to parse .html files for their PHP content.
Change the filenames to ".php" and use an internal rewrite such that when ".html" URLs are requested, the server looks for the correct .php file to serve the content.
Only as a last resort, change your URLs to use ".php" and set up a redirect so that when ".html" URLs are requested, they are redirected to the new URL.
One overall rule to apply is that if "any" of your rules use RewriteRule then use RewriteRule for "all" of the rules. That is, do not use Redirect or RedirectMatch at all. The reason is that you can't guarantee the order the rules will be parsed, as they are parsed "per module" and not in the actual order they appear in your configuration or .htaccess file.