It turned out this morning that the solution is way easier than having to use a submodule.
I removed the remote from the main hugo git config file. Then went into the public directory and did a ```git init``` there (again). But now I did define upstream.
This way I can push from public after hugo has populated the files there, without pushing the entire hugo framework with it. This way it works!