I just do this in my game, I use both navigationPolygonInstance and Tilemap same time, it's below the navigation2D node, and it just works fine.
func navigate_point(var _p:Vector2) -> Vector2:
var _path = _Navigator.get_simple_path(position, _p)
if _path.size() > 1:
return _path[1]
return _p