Here are two possible LoRa antennas for a fixed, outdoor, mast deployment:
https://www.aliexpress.us/item/3256806477712043.html
https://www.aliexpress.us/item/3256806532903775.html
Both provide 8 dBi gain. Which is better for urban Meshtastic applications?
I think that the Yagi antenna is generally preferred. The key reason is that the Yagi antenna can provide SNR improvement by pointing away from the city center. You likely can tie to the city mesh via close/local nodes, but by pointing the Yagi antenna out to the periphery of the city mesh, you can likely expand the coverage of the mesh in that direction without providing high gain to city noise sources.
Also note that the omni antenna has a very flat beam pattern. If you mount your omni antenna high up, you may not see nodes that are close-by but low to the ground.
Also note that cities likely have many potential multipath reflectors that can degrade transmit and receive signals. Pointing away from the city can reduce the channel fading caused by multipath interference. With a spreading factor of 11 (the default), this should not be a problem generally.
A key motivation for me is to try to provide a bridge to a nearby city with a minimum number of hops. A Yagi antenna provides both transmit and receive gain, specifically in the preferred direction.