Let $BC\cap AE=F$ and let line through $B$ parallel to $AX, CE$ meet $\odot(ABC)$ at $E$.
Observe that
$$(A,X;Y,P_{\infty})\stackrel{B}{=}(A,E;Z,E')\implies \overline{D-Z-E'}$$Now it is enough to show $\odot(DZFE)$ is cyclic
\begin{align*}
\angle DZE=\angle E'BE=\angle DFE
\end{align*}as then we also have
$$\angle ZDF=\angle ZEA=\angle ZE'A=\angle ZAD$$giving $\odot(ADZ)$ tangent to $BD$.
[asy][asy]import graph; size(12cm);
real labelscalefactor = 0.5; /* changes label-to-point distance */
pen dps = linewidth(0.7) + fontsize(10); defaultpen(dps); /* default pen style */
pen dotstyle = black; /* point style */
real xmin = -11.487312937104985, xmax = 2.5903843604219405, ymin = -1.6811833355429244, ymax = 9.835555034877363; /* image dimensions */
pen zzttqq = rgb(0.6,0.2,0); pen qqwuqq = rgb(0,0.39215686274509803,0);
draw((-3.304751539279967,4.132515749237636)--(-4.499987357145065,2.007950730459442)--(0.4999873571450638,1.992049269540558)--cycle, linewidth(0.6) + zzttqq);
/* draw figures */
draw(circle((-2,2), 2.5), linewidth(0.6));
draw((-3.304751539279967,4.132515749237636)--(-4.499987357145065,2.007950730459442), linewidth(0.6) + blue);
draw((-4.499987357145065,2.007950730459442)--(0.4999873571450638,1.992049269540558), linewidth(0.6) + blue);
draw((0.4999873571450638,1.992049269540558)--(-3.304751539279967,4.132515749237636), linewidth(0.6) + blue);
draw((xmin, -1.8042883891076678*xmin-6.111324209168697)--(xmax, -1.8042883891076678*xmax-6.111324209168697), linewidth(0.6) + blue); /* line */
draw((-6.765413570420523,2.015155484173907)--(-3.304751539279967,4.132515749237636), linewidth(0.6) + blue);
draw((-6.765413570420523,2.015155484173907)--(-4.499987357145065,2.007950730459442), linewidth(0.6) + blue);
draw(circle((-6.753116355578619,5.8818293438468805), 3.8666934140905393), linewidth(0.6) + qqwuqq);
draw((-3.304751539279967,4.132515749237636)--(-3.3182891238344565,-0.12417367133193213), linewidth(0.6) + linetype("0 3 4 3") + blue);
draw((-6.765413570420523,2.015155484173907)--(-0.6817108761655435,4.124173671331932), linewidth(0.6) + linetype("0 3 4 3") + blue);
draw((-5.119918995728215,3.1264861879955115)--(-3.304751539279967,4.132515749237636), linewidth(0.6) + blue);
draw((-6.765413570420523,2.015155484173907)--(-3.3182891238344565,-0.12417367133193213), linewidth(0.6) + blue);
draw((-4.350181267644339,2.8524365133038643)--(-3.3182891238344565,-0.12417367133193213), linewidth(0.6));
draw(circle((-5.0418512892577025,0.9454907394889944), 2.028509207045663), linewidth(0.6) + qqwuqq);
draw((-4.350181267644339,2.8524365133038643)--(-3.3115202147570284,2.0041710385813913), linewidth(0.6) + blue);
draw((-3.304751539279967,4.132515749237636)--(-0.6817108761655435,4.124173671331932), linewidth(0.6) + blue);
/* dots and labels */
dot((-2,2),linewidth(3pt) + dotstyle);
label("$O$", (-2.0466181939841293,1.6071485412744468), NE * labelscalefactor);
dot((-3.304751539279967,4.132515749237636),linewidth(3pt) + dotstyle);
label("$A$", (-3.6377465214764086,4.228721880856959), NE * labelscalefactor);
dot((-4.499987357145065,2.007950730459442),linewidth(3pt) + dotstyle);
label("$B$", (-4.819727564756387,1.622302144393421), NE * labelscalefactor);
dot((0.4999873571450638,1.992049269540558),linewidth(3pt) + dotstyle);
label("$C$", (0.7113375736691542,1.8192989849400838), NE * labelscalefactor);
dot((-3.3182891238344565,-0.12417367133193213),linewidth(3pt) + dotstyle);
label("$E$", (-3.758975346428201,-0.332512657954233), NE * labelscalefactor);
dot((-5.119918995728215,3.1264861879955115),linewidth(3pt) + dotstyle);
label("$X$", (-5.531946911348169,3.122508853171853), NE * labelscalefactor);
dot((-4.212335267504091,3.629500968616574),linewidth(3pt) + dotstyle);
label("$Y$", (-4.425733883663061,3.7286529779308153), NE * labelscalefactor);
dot((-4.350181267644339,2.8524365133038643),linewidth(3pt) + dotstyle);
label("$Z$", (-4.698498739804594,2.910358409506216), NE * labelscalefactor);
dot((-6.765413570420523,2.015155484173907),linewidth(3pt) + dotstyle);
label("$D$", (-7.001846413888655,2.2132926660334094), NE * labelscalefactor);
dot((-0.6817108761655435,4.124173671331932),linewidth(3pt) + dotstyle);
label("$E'$", (-0.5918722945626173,4.228721880856959), NE * labelscalefactor);
dot((-3.3115202147570284,2.0041710385813913),linewidth(3pt) + dotstyle);
label("$F$", (-3.1982920310261598,2.152678253557513), NE * labelscalefactor);
clip((xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle);
/* end of picture */[/asy][/asy]