0k, eventually I solved all the problems (and I met LOTS of them). Here is my explanation:
1. Fog/light on all the Domain object
This happens because of non-zero emission strength in Principled Volume shader. Also, to prevent it, the Blackbody intensity should be 0.
2. Too much transperancy
I found that the following parameters influence on smoke's density above other objects:
- Density value in Volume Principled shader (it should be between 30-60)
- High Resolution mode in Domain object settings (using this, you can set Density 1.5-2 times smaller)
- Volumetric scene settings -> Volumetric Lighting -> Light Clamping. It should about 10-15, or zero (no clamping). Using this parameter you can easily control the brightness of the smoke separately from the density.
I also described this in another question.
3. The light
As usually in CGI, the light must be well set. For the smoke in Eevee, the sun type of light works well, and also it can be directed to the smoke only with less influence on other objects.
4. Smoke invisibility/transparency on the background
I noticed that using Transparent (in Film -> Alpha) leads to not showing smoke on the background so it will be seeing only on other objects. So, we cannot render smoke with transparency. I hope it will be changed in the future, but now it isn't. So, keep this in mind.
In addition, I met a lot of bugs and errors using Blender 2.8, Eevee and Smoke simulation. Here is a couple of things that helped me solve them:
First of all, closing the Blender and starting it again solved many problems.
Sometimes smoke isn't seeing in the render, but baking it (Domain object -> Smoke settings -> Cache) often solves the problem.
In addition, another action sometimes help with not showing smoke: running all the animation again since scene's first frame / smoke simulation's first frame.
And just for fun, my collection of errors: