My two-cents:
Although it would be great if all the tests would be easy to run inside the cluster, I see things a bit differently. Current e2e framework is great for interacting with the API since it already has the permissions required to do so locally. As noted already it would be problematic to enable doing the same inside the cluster, at least would need special care all the way down. Why not leave it as simple as it is now and provide programatic extensions to run incluster tests decoupled and maybe provide a separate image that can be used to run e2e remotely.
For basic scenarios it would be possible to write utility functions hiding the complexity of configuring and starting a pod with prepackaged docker images for a simple test scenario. For example we could have a config for an alpine based image (with netcat builtin or installed on the fly) that would receive the endpoint host, port and the timeout parameters and would run a connection check against it. The framework could give us a simple interface to run this blackbox test and pass the required parameters. Another scenario would be something similar but in that case we could provide the command that would run in the given image.
In more complex scenarios (for example when there is a need to install an LDAP server or Kerberos KDC for testing authentication), the util could provide an interface for installing helm charts with custom values and optionally run helm test against those releases. I envision this like a configurable, self-contained test suite that is basically an umbrella chart. This chart would have dependencies on the things that the operator needs to interact with and would contain the tests as annotated helm test pods.
For complex workflows, where there is a need for parallel execution and such a workflow engine like Argo could be supported.
In the end it could be packaged into a docker image that would be separate from the operator however that doesn't mean it wouldn't be possible to run it incluster. So that instead of providing the tests and test framework in the operator image I beleive it would be cleaner to provide it separately with the ability to run remotely for more flexibility.
Peter