Had this exact same problem yesterday !
The culprit was the nozzle. Replaced the old, crappy, cheap and badly worn one with a nickel coated BMG CHT, and top surfaces now are just perfect. Had these CHT for some time, but was lazy, and didn't realize how worn it was... I first played with top layer flow : no success. Finally replaced the nozzle with the BMG.
The plastic doesn't stick to the nozzle anymore. Of course after calibration (the Ellis way, each and every step), and got the same parameters ! Filament now is eSun ABS+.
This being said, tiny top surfaces never will be perfect.
I'll post a couple of pics showing the before/after ; at this point, I didn't reprint the bad parts (DIN mounts).
I get excellent results with these Cura parameters (eSun ABS+ and also the previous filament I was using, the cheapest I could find on Amazon) : 1st layer flow 100% (for no visible gaps and perfectly smooth surface), then 95.5%. shrinkage compensation : 100.6%, minimum layer time 15s, LA 0.04, toolhead : slightly modded Stealthburner / E3D V6, Input Shaping, outer walls 75mm/s, others 150mm/s, 3000mm/s², infill 5000. Printer : self designed, belted dual Z with one motor and 2:1 ratio, all structural parts machined from at least 6mm aluminium, reinforced every angle with in-house machined large corners, the frame and bed being reused from a Tevo Tornado (CR10 clone). Much more rigid and precise than any CR10/Ender printer, so mechanical issues cannot be part of the equation in case a problem occurs. Active heated chamber : 50-55°C.
Also could be a mechanical issue : lose tool and/or carriage (but your layers do not show such symptoms : no waves).
(currently building a LDO 0.2 and a LDO 2.4/350 I just received ; the custom "Super Tevo Tornado" was built for building the Voron's - project inceptions)