my proposition from the edit here works for me with your data:
DB<132> p $x
<blah1 phase="2" type="MyType" more_keys="Values" <Unwanted/> <SomeTa
+gIwant><k1="v1"></SomeTagIwant>
DB<133> $re = qr/\btype="([^"]+)".+?<(\w+TagIwant\b|$)/
DB<134> print join "|", $x =~ $re
MyType|SomeTagIwant
update
DB<154> p $x
<blah1 phase="2" type="MyType" more_keys="Values" <Unwanted/> <SomeTa
+gIwant><k1="v1"></SomeTagIwant>
DB<155> p $y
<blah1 phase="2" type="MyType" more_keys="Values" <Unwanted/>
DB<156> $re = qr/ \btype = "([^"]+)" .+? (?: < ( \w+TagIwant)\b | $
+ ) /x
DB<157> print join "|", $x =~ $re
MyType|SomeTagIwant
DB<158> print join "|", $y =~ $re
MyType|
|