I have used LwIP with FreeRTOS on three different STM32 platforms now (two Ethernet, one PPP).
No real gotchas, just a considerable learning curve. Much of the documentation is dated. You'll want to get cozy with your debugger of choice and learn to love printf and/or LED debugging. It *does* work though. I've used it for TCP and UDP, and while I haven't done anything crazy with ICMP (just used what was built in), it does appear to work.