Yes correct, so the addon folder should contain both your index.php and your .htaccess, both were originally in public.
If you request /addon/admin, it will generate a not-found, and your htaccess rewrite rules will pick it up and rewrite it to index.php.
If that doesn't happen, it could be that your htacess isn't picked up at all. This can be tested very easily, by making a syntax error in it (just add a blank line with a random letter), if you get a 500 server error when you request the root of your site, your htaccess works. If the page loads, your htaccess file is ignored.
Just double checked here, I have dozens of sites running like this on my laptop for test purposes. For all I just copied the public folder contents and changed the paths in index.php, nothing more.