We use alpine based images extensively where possible. Most popular language ecosystems and tools have an alpine option. Alpine as a base image is nice because it's nearly blank, but easy to customize unlike distroless. Recently one tool did drop Alpine, most based on it's reduced performance, and that was envoyproxy.
Same currently. Unless I'm just modifying a simple trusted image (which does happen often enough) I just start from Ubuntu during development and only attempt to move the image to Alpine if I'm really trying to improve resource usage down the line.
Alpine uses a different C standard library called musl compared to most well known distros that use glibc. You can run into issues if the application makes use of functions in glibc that musl has not implemented. Usually you run into them in applications that are written in C, such as in some Python modules that utilise C under the hood or in databases etc.
"I can't find $SOFTWARE in $PACKAGE_MANAGER now I have to compile it from source and my life sucks" has happened with me way more times with Alpine than Debian.