CJam, 59 5858 57 bytes
q_{"aeiouy":V&,_T|:T^}#_#)W$<@@>/(\V&0=+"cbdfkszgvtpg"_W%er_)@sV&0=1$\+"cbdfkszgvtpg"_W%er_
Try it online!Try it online!
q_ e# Read the input and copy it.
{ e# Find the index of the first char for which the following is true:
"aeiouy":V e# Push "aeiouy" and store it in V.
&, e# Check if the current char is in the vowel string (0 or 1).
_T|:T e# Copy the result and OR with T (T is initially 0), storing back in T.
^ e# XOR with the original result. This will be 1 for the first
e# consonant appearing after a vowel.
}# e# (end find)
_)W$<@@>/ e# SliceIncrement the index and split the string beforeinto (index)+1chunks andof afterthat (index)size.
( e# Pull out the first characterchunk.
) from e# Pull out the secondlast halfcharacter of that string (athe consonant).
\V&0=@s e# Bring all the other split chunks to the top and join them together.
V&0= e# First char of the set intersection of the second halfthat and the vowels.
e# (i.e. the first vowel in the second half)
+ 1$+ e# Concatenate the consonant and the vowel.
"cbdfkszgvtpg"_W%er e# Transliterate the consonantsconsonant to voiced/voiceless alternative.
_ e# Duplicate the result of that.
e# Implicit output of stack contents.