I was wondering the same exact thing a few days ago and found this: https://github.com/FEDE0D/godot-pathfinding2d-demo
Basically what you do is create a tileset the alternative way (recommended on docs) which is to convert a scene into a tileset. So basically make a new scene and add sprites the way you normally make a tileset, then you can attach NavPolyInstances to each tile. Then in your map scene, make the TileMap a child of a Navigation2D and all the NavPolyInstances on the tiles will combine.
I'm pretty sure this works dynamically, so if you change the tilemap thought code it will update the navigation. However I have yet to figure out how to make the navigation avoid moving objects, such as a RigidBody2D.