If it starts on jump leads but not on the bike battery it may not be the starter but an earth point that gets bypassed when you use the jumpers.
A common problem is the earth lead that goes to the top of the bell housing under the battery tray, throttle cable splitter etc. If there was some corrosion and you put a high load on it by trying to start the bike with water in it the connection may have got hot, burnt and deteriorated.
Lift the back of the tank and use your leads to go directly from the bike battery to the jump points and see if it then starts OK off the bike battery.
Or remove the starter, inspect and test it before shelling out for a new one.
Also do a search as there is a frog car that uses the same starter and costs a fraction of the BMW price.