You must link to the correct URLs from your pages. That means editing static pages or modifying the script or the add-on to publish these correct links on the pages which it generates.
Understand that mod_rewrite takes effect *after* a request arrives at your server. At this point, it is far too late to "change the URL." Therefore the links that appear on your pages must give the correct URL from the start.
I suspect that you will be happier with a hosting configuration that allows your domains to each be hosted separately, and not as "add-ons" to a single "master" domain. It should be obvious that in this set-up, that "master" is completely arbitrary -- "first" would be a better term. The methods used by hosting companies (actually, the control panels that they provide) are not conducive to setting up multi-domain or "multi-user" scripts and add-ons. An IP-based (as opposed to a name-based) virtual hosting set-up would seem to be in order here.
Once requests are arriving at your server with a correct URL, mod_rewrite can be used to steer those requests to any place in the filesystem that is accessible at the level of the .htaccess file that you use to implement this steering. On name-based servers using "add-ons" this level is usually below the root, and so paths in the root cannot be reached. On IP-based servers, this level is usually the root level, so no problems are encountered.
To be clear, .htaccess *can* redirect an incorrect URL to a correct one, but if the links on your site are incorrect, and each is redirected whenever it is requested, then your site will be flagged as one of "low technical quality" by search engines due to the extra work and delay each redirect involves, and it will never do very well in search results.
Note that using example.com or www.example.com in your posts avoids the auto-link formatting here. It also avoids having our thread here rank (sometimes very well) for searches on your domain name...