1) As far as I'm aware, this currently is as 'designed'. The ecommerce team is still building out with each release so products haven't been 'finalized' yet. In v4.3 they added multi-lingual products and the SKU. In v4.4 they added the product variations, currently flat and not hierarchical. For v5 the roadmap mentioned proper downloadable products, not sure about hierarchical attributes though.
But anyway I'm guessing since they're still changing the products 'base'fields, they've not dived into fully expanding the search features yet. Naturally if you add a 'static html' search, the text of customfields gets indexed, but of course that's not the nicest way of doing a search.
2) Glanced quickly over the thread you mentioned. Haven't dabbled with custom search in v4 (yet) but if I read the code correct you should be fine and it won't crash.
3) Yes it does seem intuitive to have that kind of control over custom fields.
But as I pointed out in the 1) answer, ecommerce and search is still in an early phase. To see what I mean, search for "Billing address" - it returns the checkout address page with the billing address validation labels. Search for "Shoppingcart" - it returns the actual shoppingcart information with 2 products and € 33.00 amount (see screenshot).
Lastly (and this is purely caution) I've reported a bug with v4.4.2117 about once you created a product search, the backend products can't be reached no more so you'll want to be a bit careful and make plenty backups, or perhaps finish the rest of your project and wait 2-3 weeks till v5.0 is released and the bug will be fixed.