https://github.com/elastic/elasticsearch/pull/97304 removes several places that might do an expensive rebuild of the cluster state via `getStateForMasterService`. There's one other call we should be able to remove, in `JoinValidationService`, but it's a little tricky since we rely on seeing the last-accepted state for the cluster UUID validation, and it's not obviously ok to expose the last-accepted state without the no-master block.

This is a fairly minor issue because we do not do this join validation during elections, only if we're the elected master, and in that case `getStateForMasterService` is cheap. But that's not guaranteed, and we should strengthen this to avoid the that expensive step whenever possible.
server/src/test/java/org/elasticsearch/cluster/coordination/JoinValidationServiceTests.java
Settings.EMPTY,
            deterministicTaskQueue.getThreadPool(),
            TransportService.NOOP_TRANSPORT_INTERCEPTOR,
            ignored -> localNode,
            null,
            Set.of()
        );
        final var stateForValidation = ClusterState.builder(ClusterName.DEFAULT).build();
        new JoinValidationService(Settings.EMPTY, transportService, () -> localClusterState, List.of((node, state) -> {
            assertSame(node, localNode);
            assertSame(state, stateForValidation);
            throw new IllegalStateException("simulated validation failure");
        })); 
        transportService.start();
        transportService.acceptIncomingRequests();
        final var future = new PlainActionFuture<TransportResponse.Empty>();
        transportService.sendRequest(
            localNode,
            JoinValidationService.JOIN_VALIDATE_ACTION_NAME,
            new ValidateJoinRequest(stateForValidation),
            new ActionListenerResponseHandler<>(future, in -> TransportResponse.Empty.INSTANCE)
        );
        deterministicTaskQueue.runAllTasks();
        assertThat(
            expectThrows(IllegalStateException.class, future::actionGet).getMessage(),
            allOf(containsString("simulated validation failure"))
        );
    }
}