Hi, also late but I've been facing this problem the last few days and I feel I can add some knowledge to this issue.
What is happening is that the navigation mesh has properties that allow to choose the radius/height of the agent that will act over it.
You can check it here: https://docs.godotengine.org/en/stable/tutorials/navigation/navigation_different_actor_types.html
As my understanding this is wrong because it means that we have the create multiple navigations to cover all different enemy sizes?
The agent instead should be the one dealing with it.
On top of that we are using tilemap navigation, wich means that every cell is a different navigation mesh. As far as I understand we would have to loop every cell to get the navigation and change it to the desired radius/height of the target agent. But there can be multiple agents in the same navigation, so we would also have to place this navigations and agents in different layers depending on their sizes.
We could use NavigationRegion node instead of tilemap navigation but we had still to create multiple ones for each agent size.
Please someone give a solution to this or correct me if I'm seeing things wrong. Pathfinding 2d in Godot like this is undoable.