1) is it really necessary to create an endpoint-entry for each connecting client? --> not necessary!
1) using DHCP for the internal network, so you don't have to issue an ip for each client and set one endpoint on the opnsense for all clients
2) an option to connect via user-credentials e.g. using radius or ldap in combination with the keys.
otherwise, it would be a relative "easy" setup. What i also saw, the Android-Client show connected, even if its not connected. The handshake-Tab showing the actual connections would be very helpful. --> they are shown by tunnel, but not by connected client.