Udemy presumably thinks that the relevant comparison for students they bring you isn't 100% of the sale, it is zero, because but for Udemy that sale wouldn't exist. If you don't want to pay for a built-in userbase, build your own platform -- start an email list, build it up gradually by delighting people, and then sell stuff to them. You'll keep 95% of the gross.
Also charge more. That's the single worst thing Udemy does to instructors: their incentive is to build platform (user signups) but yours is to build revenue, so they will dictate pricing low, but you want to price high. Same story on App Store.