Nice trick! I don't see anything that's off the mark.
{1d20cs>[[ @{crit-target} ]],1d20cs>[] @{crit-target} ]]}kh1
That macro seems a little "malformed" though... and should probably be more like;
{1d20cs>@{crit-target}, 1d20cs>@{crit-target}}kh1
so in the attack's macro-text, you should be able to change the {{attack}} portion to
{{attack=[[ {1d20cs>@{crit-target}, 1d20cs>@{crit-target}}kh1 + @{attack_macro} ]]}}
and then substitute the 1d20 for crit confirm. Change the {{crit_confirm}} portion to
EDIT: not sure if you also get to roll twice for confirm. If not, do not replace.
{{crit_confirm=[[ {1d20,1d20}kh1 + @{attack_macro} + @{attack_macro} + [[ @{crit_conf_mod} ]] ]]}}
full macro for clarity EDIT: (includes rolling twice for confirm, which you may not want...)
&{template:pf_attack} @{toggle_attack_accessible} @{toggle_rounded_flag} {{font=@{apply_specfont_chat}@{use_specfont}}} {{scroll_desc=@{scroll-desc}}} {{color=@{rolltemplate_color}}} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{subtitle}} {{name=@{name}}} {{attack=[[ {1d20cs>@{crit-target}, 1d20cs>@{crit-target}}kh1 + @{attack_macro} ]]}} {{damage=[[@{damage-dice-num}d@{damage-die} + @{damage_macro}]]}} {{crit_confirm=[[ {1d20,1d20}kh1 + @{attack_macro} + @{attack_macro} + [[ @{crit_conf_mod} ]] ]]}} {{crit_damage=[[ [[ @{damage-dice-num} * (@{crit-multiplier} - 1) ]]d@{damage-die} + ((@{damage_macro}) * [[ @{crit-multiplier} - 1 ]]) ]]}} {{type=@{type}}} {{weapon_notes=@{notes}}} @{iterative_attacks} @{macro_options} {{vs=@{vs}}} {{vs@{vs}=@{vs}}} {{precision_dmg1=@{precision_dmg_macro}}} {{precision_dmg1_type=@{precision_dmg_type}}} {{precision_dmg2=@{global_precision_dmg_macro}}} {{precision_dmg2_type=@{global_precision_dmg_type}}} {{critical_dmg1=@{critical_dmg_macro}}} {{critical_dmg1_type=@{critical_dmg_type}}} {{critical_dmg2=@{global_critical_dmg_macro}}} {{critical_dmg2_type=@{global_critical_dmg_type}}} {{attack1name=@{iterative_attack1_name}}}