After further research, it seems in order to preserve initial structure I need to define a frame and use jsonld framing. I am not sure how it will work with rdf4j but it works with Jena, so I will end up switching to it.
Here is a post that lead me to this conclusion that also showcases an example:
JSON-LD blank node to nested object in Apache Jena