I hope I'm not misunderstanding the question, but from my experience, Chrome doesn't usually bundle ICE candidates with the offer when you execute createOffer() - typically they are trickled out afterwards. However, Firefox usually does include some ICE candidates in the created offer.
In our case though, we have had no problem with simply dropping the transmission/reception of local candidates and connecting just with srflx or relay candidates.
If you are worried about delays in candidate generation it seems like there is almost delay in generated local candidates.
If you are worried about delays in connection establishment, trickle ICE for each candidate set (local+remote from each type, local, srflx, relay) should be happening in parallel.
I'm guessing if you're seeing exceptional delays in connection establishment though, there's something else going either related to your MCU application or due to how you're generating/setting/using the sessionDescriptions.
Anyways, hope that helps a bit.
Matthew Fredrickson
Respoke.io