Google SERP icons in snippets are formed to be relevant to user's search query. In some cases, Google takes a text for the snippet from the meta name="description". In order to show up in the snippet the text from meta name="description", it must not be empty, relevant for the query and not short. Google will highlight in bold the words that are looking for. In this case, if you want more accurate results, you should allocate these words in Description with tags <em>..</em>. Then the text in the snippet preview will be transferred to another line like in Google SERP (You do not need to insert these tags into the html-code of your site - this rule only for this preview tool).
In <title> Google may not show them. In the Breadcrumbs - some work, others do not (check here). In the Description - all displayed, if supported by your browser & OS. If you use special characters with their equivalent code: like ❺ - it will take as much as 8 characters. What will affect the size of the text that Google will take to show in the snippet. It is better to copy the graphic symbol somewhere in the UTF-8 and insert it via the clipboard.
Different UTF-8 characters Google handles differently. In the Breadcrumb, such as ❺ can be repeated 5 times with no spaces, but only one ★ star. Many special characters do not work when there are at the beginning of a line, or at the very end (▀▄▀ ☑). To make them show, the breadcrumb text must begin with a letter or words, and at the end of the line you need to put a plain text character too (x★ text ★x). In this, the general advice - Breadcrumbs should start with the text, do not do many repetitions of UTF-8 characters, alternate characters with the text, make a short block of text.
How to make a Breadcrumb for domain root (homepage)? - Breadcrumbs are not actually made for the homepage, but as a result of experiments, I found an interesting solution :). For the HTML-code of homepage Breadcrumbs you must add at least 2 links: 1st - the root domain.com, 2nd - the domain.com/#hash. This technique also helps to display the current URL in the breadcrumbs for the deep pages. Typically, the current URL is not displayed in the breadcrumbs.
Also, there are differences when displaying snippets in google.com and regional versions: .de, .fr etc. For google.com Breadcrumbs should be shorter, the number of UTF-8 characters in a row - is less. There are some cases where the breadcrumbs are displayed in google.de, but do not work in google.com - you have to make the text shorter.
Be as careful with other rich-snippets. If Google decides that your "yellow stars" (reviews) are bad, then it will stop to show the Stars and Breadcrumbs. And it will be difficult to find the reasons why they are not displayed.