Okay, after a couple hours of testing, I have came to the conclusion that either one of two things are happening: Either the create_from_mesh function does not work, or the ArrayMesh returned by the CSG mesh does not work.
I was able to successfully generate CollisionShapes and StaticBody nodes from the returned CSG mesh, so I do not think the issue is in the ArrayMesh. Rather, I think the issue lies somewhere in the create_from_mesh function.
Unfortunately, I couldn't find any workarounds or solutions to the problem. There might be a way to do it, I have no idea what it is and tried almost everything I could think of with no results. Most of the time, it just fails silently and doesn't add anything to the Navmesh, vertices or otherwise.
Maybe this is a Godot bug?
Regardless, I have no idea why it is not working. Hopefully you will be able to find a solution.