Replace boot.3dsx (keep a copy of it) on your SD card with a copy of "themehax_installer.3dsx". Make that the information in sdmc:/3ds/themehax_installer is kept as-is. When you use your homebrew entry point, it should boot directly into the installer. Go through the setup and it should install themehax. Once you're done, you can shut the 3DS off, take out the SD card and replace boot.3dsx with the original homebrew launcher. When you use themehax, you should boot directly into the homebrew menu as normal.
The scenario where a properly stored 3DSX file would not show up on the homebrew menu is an issue with the HBL, not the app. You can rename any file to a .3dsx extension and it'll appear on the HBL -- it'll crash when you attempt to load it, but it would still appear.