My conclusion is that Apache Karafe or its Karafe-delivered systemd Unit definition do not fit the systemd model.
After starting Karafe the server process is spawned and the start script returns. The latter makes systemd believe that the service did not start properly and it then runs the stop process (maybe for cleanup?). Since the openHAB2 systemd Unit definition for Karafe defines a restart on failed, the start/stop scripts are called in a loop.
So here …
Solved item with post by Gad_Ofir
I found some commands to make systemd use the SysV rc.d scripts and this did the trick for me.
* systemctl start openhab2 --> works
* systemctl stop openhab2 --> works
* systemctl restart openhab2 --> works
* openhab2 is started after boot/reboot --> works
I am not 100% sure this covers all circumstances in the boot process, but for me it feels good enough to move forward.