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.