In Mathematica 12 [`BoundaryMeshRegion`](http://reference.wolfram.com/language/ref/BoundaryMeshRegion) objects can be used as a [`Graphics`](http://reference.wolfram.com/language/ref/Graphics) primitive. So, another idea is to use a [`BoundaryMeshRegion`](http://reference.wolfram.com/language/ref/BoundaryMeshRegion) as your primitive. For example:

	Typeset`MakeBoxes[
		CutoutEllipse[center_, out_, in_],
		form_,
		Graphics
	] := With[
		{
		new = Replace[
			RegionDifference[Disk[center, out], Disk[center, in]],
			b_BooleanRegion :> BoundaryDiscretizeRegion[b]
		]
		},
		Typeset`MakeBoxes[new, form, Graphics]
	]

Examples:

	Graphics[{Pink, EdgeForm[Blue], CutoutEllipse[{0,0}, {4,2}, .9 {1,2}]}]

[![enter image description here][1]][1]

	Graphics[{Pink, EdgeForm[Blue], CutoutEllipse[{0,0}, {4,2}, 1.1 {1,2}]}]

[![enter image description here][2]][2]

You can use this [answer](https://mathematica.stackexchange.com/a/198915/45431) to get the above approach to work in earlier versions of Mathematica.

  [1]: https://i.sstatic.net/QdiGT.png
  [2]: https://i.sstatic.net/26rSX.png