After formatting SD card "as internal", can the partitions be downsized? I've a 16 GB MicroSD card that's apparently faking its size. Using H2testw I found that only the first 7.8 GB are usable. Before buying a new one, I want to see if I can "fix" it. The idea is to have Android format the card "as internal", unmount it, and then either through a rooted Android or a Linux/Windows desktop downsize the three resulting partitions to fit inside the first 7.8 GB of the card.

Is there any reason why this wouldn't work? My only concern is that the Android phone might have its own record of the sector ranges of each partition, which I would be changing.

I'm not just trying it out, because I don't have a card reader on hand, and want to find out if it's likely to work, before I invest time into it.
I'm abandoning the project, since the card I was going to do this with is counterfeit and apparently unsalvageable (or at least not in the way I envisioned). To quote Robert: "because of wear-leveling algorithm the sd-card [can] reallocate the sectors at any time (and of course it can reallocate it into the non-existent flash part)".

Anyway, for people trying to find out how to work with these Android SD partitions, here's a few links from my research:

http://blog.sam.liddicott.com/2016/02/android-6-semi-adopted-storage.html

I want to split one MicroSD card into two parts: part adoptable storage, and part normal storage. How can I do this?

One of the tools used in the above posts is adb shell sm (or just sm). It can manipulate the partitions on the SD card. I didn't look into it further, but if I wanted to go through with this, the sm command is what I'd investigate next.

Of course, one of the things to know about working with Android's adoptable storage partitions is that one of them is encrypted, so unless you decrypt it, you can only manage it with the phone that encrypted it.