Yes, there are solutions to this that don't expose the whole kernel to root.
* This project's kernel module could use DKMS. This could make use of the MOK workflow already present in Ubuntu.
* This project's kernel module could be included in the upstream kernel.
The last option would be more secure, but more difficult to achieve.
I don't think this can be solved in Ubuntu, so let's continue this discussion in the first upstream issue you linked. (Although I'd probably need to take a look at the source code and I don't know any C#.)
Yes, there are solutions to this that don't expose the whole kernel to root.
* This project's kernel module could use DKMS. This could make use of the MOK workflow already present in Ubuntu.
* This project's kernel module could be included in the upstream kernel.
The last option would be more secure, but more difficult to achieve.
I don't think this can be solved in Ubuntu, so let's continue this discussion in the first upstream issue you linked. (Although I'd probably need to take a look at the source code and I don't know any C#.)