The simulated drawing effect using dashoffset only really works with solid lines. That is because it works by setting a dash pattern that matches the length of the path and then shifting it with dashoffset. You can't use a dash pattern for this because the little dashes will move when the dash offset changes, ruining the effect.
If you don't mind the dashes moving, then all you need to do to fix your example is to construct the dash pattern correctly and leave it alone, while you change the dash offset.
.path {
stroke-dashoffset: 628.3;
animation: dash 5s linear forwards;
}
@keyframes dash {
to {
stroke-dashoffset: 0;
}
}
circle {
stroke-width: 2;
stroke-opacity: 1;
stroke-dasharray: 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 0 630;
stroke: #E0236C;
fill: none;
}
<svg id="processArrowPath" xmlns="http://www.w3.org/2000/svg" height="220">
<circle class="path" cy="110" cx="110" r="100"></circle>
</svg>
The circumference of the circle is 628.3. So we need to make a dash pattern that consists of "5,5" pairs to make up a length of approx 630, then a 630 gap.
If you don't want the dashes to move like that, then you need to get a bit trickier and use some other technique. For example you would leave the dash pattern alone, and instead use a mask or clip path to reveal your path.