Every native UI draws on canvas. So, drawing on canvas is technically as bug prone as a native UI.
Also, nothing breaks when platform holders change something in their UI kits, because Flutter is not using their UI kit (except of few fundamental things). Components continue to behave and look exactly as they did before.
If you want to mimic new design/behavior of platform's native components after an OS update, Flutter widgets need to be updated independently.
iOS in particular uses a lot of animations for context clues, and it is very hard to get right when you try to copy it.
There’s also a lot of functionality that is baked into native controls, such as accessibility and localization that are often missing from canvas drawn controls.
Expo has a new system that’s in beta that should make doing this much, much simpler (check out expo-modules).
Don't get me wrong, there are a few essential things that you have to mimic in order not to be too alien on a specific platform. But for everything else, try to provide best UI/UX for a specific task rather than trying to mimic some generic controls.
Making a good UI framework from scratch takes considerable amount of resources. The lack of accessibility and localization is usually due to insufficient resources from framework developers, not a technical limitation.
I use it, mostly with expo. Everything works out of the box and performance is actually surprising (because of Hermes engine), I'd say its a lot better than all other alternatives when it comes to cross platform development solution, simply because flutter is the only real competitor and flutter has few problems that makes it unbearable for me:
1) lots of copy-paste boilerplate code 2) ios apps behave weirdly in flutter (maybe they still havent fixed 1 frame lag with touch/swipe/scroll events? idk) 3) they're not using native components but implementing them on canvas. This sounds extremely prone to issues and bugs and requires them to catch up to update stuff once platform holders change something in their UI kits.
If I had to pick a tech right now, I'd go
React Native -> Jetpack Compose/Swift UI -> Flutter -> Anything else