I generally use a mix of remeshing, displacement, sculpting, and booleans to solve problems like this.
Add a Remesh Modifier and increase the Voxel Size until the hole gets filled.

Add a Displace Modifier and adjust the Strength so that the model rests mostly within the original model.

Add another Remesh Modifier to clean up any self-intersection that may have been caused by the Displace Modifier.

If your slicer doesn't mind and you aren't hollowing, you're done, but if you want one manifold mesh you could either use a Boolean Modifier set to Union, or you could remesh again. To remesh, join the meshes together by selecting both shapes and using Object>Join, remesh with a very low voxel size, and decimate to get back to a lower poly count.
Remeshing and decimating isn't the cleanest, and it can be computationally intensive, but it can also save loads of time spent in manual cleanup or in troubleshooting the Boolean Modifier.
I use a similar process when I want to manually hollow models in Blender.


