Possible to affect normals with distance fields?

Is there any way to convert the output you get from the DistanceToNearestSurface node into something that can be used for normals? I’m trying to simulate a soft surface that indents when objects intersect with it.

If it makes a difference, the object will already have a normal map that I was planning to blend with the dynamic distance field normal map to get the desired result.

So far I’ve tried making it into a height map first, but as far as I can figure there’s no way to convert a grayscale image to a heightmap within a material, since TextureObject has no input pin.
I’ve also tried saving the grayscale out to a virtual texture, but I can’t use that virtual texture as a source for a TextureObject node and all the outputs of a virtual texture sample are the same unusable v3 ones.

Is what I’m attempting even possible?