So, just an update on this. I learned that the way to go is to use GPUParticlesCollisionSDF3D. The problem is that it needs to be baked, and I can't do that through a script (which I need due to the procedural level system).
Another solution would be to use GPUParticlesCollisionHeightField3D. This is what I ended up using for now. It works great for having particles colliding with the floor. But it's not great if you want particles to collide with walls etc.
I did open up a Github issue on this regarding the gridMap. Github issue
But as I learned, I think my issue would be solved if I could bake GPUParticlesCollisionSDF3D during runtime.