Yeah, I was going to say the same thing about cylinder vs. linear extrude applied to a circle. I also typically use a $fn for each instance of a circle, sphere or cylinder so that I can adjust the number of facets based on the diameter. For example, having 100 facets on the narrow stem is a bit of overkill.

So, something like this...
Code:
cylinder ( d=74, h=3, $fn=100 );
translate ([ 0, 0, 3])
  cylinder ( d=87, h=3, $fn=100 );
translate ([ 0, 0, 6 ])
  cylinder ( d=6, h=9, $fn=20 );
translate ([ 0, 0, 13 ])
  cylinder ( d=12, h=3, $fn=36 );
}
I could offer more style comments like defining the height and diameters as parameters instead of hardcoding them, but that's another level of preference.

I view the need for supports driven by a number of factors. Print temp, application of print cooling airflow, extent of an overhang, are some factors that come into mind that can make a difference. In general, I'd say that yes, that lip is going to require supports in order to print. I'm not familiar with supports in Cura, but in Simplify3D there are a lot of tweaks that can be made regarding the type of support and the nature of the interface with the desired print. It can take some experimentation to get that working right.