They can be, provided you format the card as internal storage and have a phone which supports doing this.
Prior to that being added (android 6 as I recall) apps were never truly installed to internal storage even if you selected "sd" as the install location. The apk and shared object library (if the app had one) would be, but the rest would be in internal storage). There were hacks to move part of all of an installed app to a separate partition on the sd card if you had root - they may still exist, been a long time since I either rooted or had a microSD slot so I'm not up to date with that stuff.
As for why, I can't be sure. Filesystems will play some role: linux systems use ext filesystems (ext4 these days), while microSD cards are generally formatted as fat32 - portable but lacking in features, particularly access control is weak. The access control thing is undoubtedly why the app databases (often bigger than the apps) don't live on sd: proper access control is necessary so that apps can't read and modify other apps' databases, which would make malware development trivial. But it may be that there are other technical reasons why the executable had to be in an ext partition, I'm not sure at this moment. When formatting the card as internal it is formatted with an encrypted ext4 filesystem so behaves exactly like internal storage, only slower and at some level less reliable.
SD card speed and reliability were doubtless considerations too. It was notable that the old "move to sd" option only moved static elements (originally just the apk, later the .so library) which would only need to be accessed when loading the app into RAM and not afterwards, and would not be updated unless you updated the app itself. So this would have little impact on app speed (tiny effect on loading, none at all on execution) and no card lifetime implications (because you only wrote these things once, you weren't constantly writing). Hacks (root required) that allowed you to offload the databases to an sd partition certainly did slow phones of ~12 years ago, though to a degree that many still found an acceptable trade-off for very limited internal storage. I have always assumed that this is why Samsung flagships, back when they had sd cards, never allowed formatting as internal: Samsung made vague statements about it being for the best customer experience, which I would read as "we don't what someone buying our expensive flagship, sticking a cheap, slow card in it, formatting that as internal and then making a huge fuss on social media about how their new phone is slower than their old one". And to be fair if that was their thinking they would have a point: there are many people who would do something like that and never even consider that if they weren't happy with the result it might be in any way their fault rather than the manufacturer's, no matter what warnings you gave them.
(To illustrate that point, there's a reddit that collects stupid reviews from cooking sites that is full of people giving 1 star reviews to a recipe because they made some astoundingly dumb change and it didn't work and this must be the recipe's fault rather than theirs. And by "astoundingly dumb" I mean things like replacing the carrot in a carrot cake with kale and then complaining that it was dry and tasted awful, or using 120 times as much chilli paste as the recipe said and then complaining it was too hot! Amusingly that last one included the comment that the 2.5 cups of chilli paste they used was "all that they had", implying that they would have used more if they had had it...).