Why isn't smoke flowing with the shape of the domain?
The smoke domain can only be a cube or a Cuboid.

Form the blender manual


  You can use other shapes of mesh objects as domain objects, but the smoke simulator will use the shape’s bounding box as the domain bounds. In other words, the actual shape of the domain will still be rectangular.


To have the smoke flow around, you would need to add another object and set it as smoke collision.


  Smoke Collision objects are used to deflect smoke and influence airflow.




See this answer:What Are the Differences between Smoke Collision Types?

To have the smoke be contained by Collision objects, place the smoke emitters inside them.



In this example a text object has been converted to mesh, set as smoke collision and placed within the smoke domain.