I’m using nebula to remotely access the raspberry pi in my home network and it mostly just works. The dual setup for nextcloud might be a bit more tricky, at least if you want to use HTTPS. You’ll probably have to set up a reverse proxy in Nginx for at least one of the routes, since they need different certificates (although since Nebula already authenticates and encrypts your traffic, HTTPS is probably not necessary there).
This might be what you’re looking for. When translating between languages other than English (German - Spanish in my case) the data can be a bit lacking but it generally works really well.