How do folks handle email preview text?
Mosaico 2.x on CiviCRM already has the feature to add "preview text" for emails. 



This is handled in the default "versafix-1" template and any derivatives thereof by way of a hidden text field in the HTML.

Your supplemental question regarding Emoji is more difficult - the Mosaico library can handle Emoji however CiviCRM's database storage engine doesn't use UTF8MB4 and isn't setup to handle Emoji content at this time. There is an issue here however getting this change into CiviCRM core (which is where it would need to occur) is not simple nor a priority at this time.