Birdie, I would say. Reasons:
- Leo is a kid and at most 7-10 years old, like the other kids.
- Leo probably did not get lost at sea immediately after birth, so I would say his parents took him on a boating trip at least after he was already 3-5 years old.
- So Leo has probably been on the island for 2-7 years.
- Birdie on the other hand is quite old, probably in her 60's/70's.
- She says “I've been here so long, I can't even hear the ocean anymore...” , which means that she has most likely been hearing the ocean for years on end and no longer acknowledges it, so I would say she has been on the island for at least 10 years.