Yes, that’s the compromise you have to deal with by the current implementation.
I don’t know, really. AFAIK this has to do with some Mac OS/OpenType limitations, as AmberV responded to you on the other thread.
Small Caps are a world on their own regarding typography. It’s not just the height, but the width, the kerning and whatnot. So if you really want to enforce them, I guess the only way to go is using the aforementioned wordaround.