Me thinks confusion reigns here.
Moodle software, downloaded from Moodle.org, doesn't contain an .htaccess file nor a 'recommended use' htaccess.txt file as other open sourced packages might.
Did you install manually, or did you use some one button click kinda thing to install Moodle provided by your provider?
Where you host does have customer help. Here: https://www.crazydomains.com/help/
Suggest you become familiar with that.
Using that help, I see your server is using suPHP and there is an article about that relates (maybe not alll of the issues) in this help page:
Just to clarify ... 'root' you've used is /pathto/your_accounts_home_directory/public_html/ and that's where the 'moodle' directory resides. So originally, how were you accessing the Moodle?
Something like: http://site/moodle/ ?
.htaccess files are supposed to be hierarchial in nature ... the one at the top of the structure takes precedence and any others in subdirectories change or I think in your case override the one above - which might explain the 404 error when you use an .htaccess file in 'moodle' ... wiped out the re-direct rules to find index.php.
So ... have you tried combining what's in the .htaccess file at 'root' with the redirect rules AND the parameters you are trying to enter in another .htacess file and placing that .htaccess file in your web root ... the public_html directory. That should apply to all subdirectories - which includes your Moodle code and does use an index.php page as the default page Moodle is to serve out.
Other help pages:
The following is a help page for WordPress but me thinks it might apply to any app in user space:
Also has a link that describes how to php.ini recursive in .htaccess
Something else, but related ... where is your moodledata directory? You've not mentioned. Many hosting providers do NOT allow moodledata outside of 'public_html' and their work-around (not used on true standalone/not share and not in user spaces) is to use an .htaccess file in there as well. This is where I think suPHP will also come into play. Normally, it's ok to make moodledata 'group' writable. suPHP doesn't like that at all and will not only complain in logs but also deny ... something like 'Softexception.app' is seen in error logs (if you can see error logs).
Files upload, BTW, will eventually end up in moodledata/filedir/ so that's why am mentioning moodledata.
Comment: me thinks 'CrazyDomains' appropriately named - and y'all can take that any way ya want!
'spirit of sharing', Ken