On STM32's I use FreeRTOS about 90% of the time unless it's a really simple thing. Haven't had issues yet. What I like about FreeRTOS is the ability to stream data from one process to another, at the expense of memory, of course. Other constructs like task notifications and such I also use a lot from ISRs.
I MUST use Zephyr for NRF52's at work. The RTOS concept of Zephyr is not too dissimilar from FreeRTOS (Queues, semaphores, streambuffers, pipes, etc) but I hate the several levels of abstraction between the software and the hardware, the Zephyr people use Device Tree Sources for their interfaces mostly. Fortunately they seem to work, for example SD cards, Bluetooth, etc, that all works fine if it's defined properly. However, woe if you have some minor issue, good luck finding where it is. It took me AGES to find out how to store data into flash memory. At least the folk at Nordic are very helpful with queries. Yeah, I avoid zephyr unless it's mandated by the IDE.
My 2c.
Cheers,
Alberto