Because like every service-oriented offering, each platform differentiates as hard as it can to lock you in to their way of doing things.
Things largely look the same on the surface; this takes the most effect at the implementation-detail level, where adjusting and countercorrecting down the track is fiddly and uses an adrenally-draining level of attention span - right when you're at the point where you're scaling and you no longer have the time to deal with implementation detail level stuff.
You're on <platform> and you're doing things their way and pivoting the architecture will only be prioritised if the alternative would be bankruptcy.
Things largely look the same on the surface; this takes the most effect at the implementation-detail level, where adjusting and countercorrecting down the track is fiddly and uses an adrenally-draining level of attention span - right when you're at the point where you're scaling and you no longer have the time to deal with implementation detail level stuff.
You're on <platform> and you're doing things their way and pivoting the architecture will only be prioritised if the alternative would be bankruptcy.