Setting up flashes for a party, it takes adjusting to get an even illumination across the area where people might stand 5 across. With two people and 1 light, it's less problematic but still can get uneven. Besides differing distance, turning to a different angle to the light can cause differences.
So use that on purpose. If you are facing forward at 12 o'clock, with boyfriend on right (3 o'clock), put the flash at o'clock. With a soft source up close, the distance to the light will be significantly different for each of you. The point is that the source is close so falls off— window light won't do that.
With more kit, you could get a piece of gausy material to cast shadows, feathered in. Actually, outside with dappled light I will use a card to make sure a dapple lies over the face. You could use a full shadow on your face and a diffuser semi-shadow over his, and all the lighting differences caused by the tree leaves would hide any intentional exposure difference.
Meanwhile, something I've not followed up on is noticing (via rawdigger) that one color channel is much brighter than the others. Using a gel over the flash could cut that back and give me 1.5 or even 2 additional stops of lattitude.
If a good range of values is capured for both skintones, you can bring them together in photoshop. There is much more available then the in-camera jpeg!
Look at photos and determine how many value levels (stops) are between your two skintones. Post that, and maybe get more specific advice, or at least a rough idea what kimd of approach might work.
There's always spray-tan.
BTW, my wife is Chinese and I'm a blue-eyed Pole, in ancesstory. Not as extreme as a red-head, but I know where you are coming from.
On the other hand...
I reciently took a picture of us before going out to a black-tie event, and I had no problem capturing the entire tonal range of my tuxedo, showing details in both black coat and white shirt. I needed a little care to get an image that would show up on a common user's screen or tablet, and sacrificed some detail in the process — I don't need every thread to show up, just show the differences in black on black features.
I used cfl bulbs meant for still lifes, and too dim really for this, but it's just an improved available-light shot. The only issue was getting enough light for an exposure without motion blur or depth blur — nothing special to address the extreme range other than to check the histogram to ensure it's not under exposed so all the darks are present. More generally make sure the whole histogram fits and is not cut off at either end.
So maybe you just need
- a better camera (is it a dSLR or mirrorless that shoots RAW images?), or
- skills in "developing" the RAW data. This camera has a now-typical 14-bit A-to-D, which is only one stop short of counting every single photon.
- an optimal (rather than just salvageable) exposure.