It is flawed but what's the alternative, it's also open to abuse which I suspect RB are doing this weekend with Verstappen, they took a new unit at Spa as they knew they had the speed to get through, they are doing the same this weekend, they then have 2 'fresher' engines to get to the end of the year. Mercedes did similar at Spa but Hamilton stuffed by hitting Alonso.
It's all about the cost cap, which it you don't the big 3 would just run a new engine in each car every race weekend, or as they did in the past even having special qualifying engines that would be swapped overnight although now with the Parc fermé they might not be able to do it.
You could add seconds to their start times a bit like
@Reynard is suggesting but have them on the grid with their own individual starter, you're wanting to penalise the manufacturer not the driver, you could take points off them in the manufactures championship, but like now if it was 10 points for an engine, RB may decide they could afford to lose 10 points if they could influence the win.