Unfortunately, all the calendar solutions seem to be pretty terrible in one way or another. Your NextCloud server along with DAVx⁵ on Android is the most functional private alternative, IMO.
The setup still sometimes has some of the same issues that all calendars seem to have (even Google's and Apple's): occasional sync issues, or old deleted appointments that mysteriously show up again, or calendars duplicating themselves.
I don't know why calendaring seems to be one of those things that just never really got done well, it seems like it should be a solved problem by now.