If both of your domain is on same server, on each request your server needs to work twice, one for handling with htaccess, another for serving site from correct address/domain.
What if you could do this directly from domain provider.
Redirecting to new domain using DNS settings
Most of domian provider let's you redirect domain preserving url and with header 301 or whatever you wish to.
I recommend you check with your domain provider, go to olddomain.com's setting, instead setting up A record of the domian, choose redirect option. Enter newdomain.com and forward all query strong and path as well.
This will save tons of request from being hit on your server, and your DNS might cache new path automatically.
Check if you can implement this solution, would be really good.