On my TileSet, I added a navigation layer and marked grass as passable (i. e. added a full rect), I didn't mark trees though. My tilemap has 2 layers, with grass on the lower layer and a few trees on the upper layer. Now the grass "overrules" the trees so that the navigation agent thinks that trees are passable.

Without extra map authoring work or merging tree and grass into one separate tile, is there any way to fix this?

lincore changed the title to Impassable tile on top of passable tile, how to setup navigation? .

You could do it the RPGMaker and just make a StaticBody2D scene with the trees and drop them in where needed? Also, did you not mark a collisionShape for the trees (i think you said you didn't?) That's an easy one to overlook when doing the Tilemap.