Since the plan executor can be called internally, it makes sense to move the metrics away from the transport layer inside the plan executor. On the upside this also keeps the code in one place and increments the metrics even in unit testing.
related to #35118