I am still not quite sure what the logical meaning of the corner dot is but here are three ideas:
An actual phantom arrow, i.e. a path that only has the arrow tips but no drawn line.
For some variaty I'll define the Corner, the Corner Dot as well as the Dot Corner tip and also their TikZ-CD styles.
The first diagram shows how they are used and how they look.
A pic of a corner and a dot. It will be placed via a label at one of the four corners.
It has two variants: dot corner and dot corner'. The former will be placed inside the cell of the TikZ matrix, the other one will be placed later. Both have their advantages and disadvantages.
The pic placed along a path via the dot corner or dot corner* style.
They look like 1. if they're placed directly at the start or the end but in fact they can placed along the whole path.
Code
\documentclass{article}
\usepackage{tikz-cd}
%%% Idea 1 (arrow tips)
\tikzcdset{
only tips/.style={/pgf/tips=true, /tikz/draw=none},
Corner/.tip={Straight Barb[angle'=90, round]},
Corner Dot/.tip={Circle[length=+0pt +3, sep=+0pt +1.5] Corner[]},
Dot Corner/.tip={Corner[reversed, sep=+0pt +1.5] Circle[length=+0pt +3]},
rightcorner/.style={only tips, /tikz/arrows= -Corner},
leftcorner/.style={only tips, /tikz/arrows=Corner-},
leftrightcorner/.style={only tips, /tikz/arrows=Corner-Corner},
rightcornerdot/.style={only tips, /tikz/arrows= -Corner Dot},
leftcornerdot/.style={only tips, /tikz/arrows=Corner Dot-},
leftrightcornerdot/.style={only tips, /tikz/arrows=Corner Dot-Corner Dot},
rightdotcorner/.style={only tips, /tikz/arrows= -Dot Corner},
leftdotcorner/.style={only tips, /tikz/arrows=Dot Corner-},
leftrightdotcorner/.style={only tips, /tikz/arrows=Dot Corner-Dot Corner}}
%%% Idea 2
\tikzset{
pic/.is if=tikz@node@is@pic,
dot corner/.pic={% also Idea 3
\path[pic actions,draw=none,shade=none,-]
(-1.5\pgflinewidth,1.5\pgflinewidth) circle[radius=1.5\pgflinewidth];
\path[pic actions,fill=none,shade=none,-,line cap=round,line join=round]
(-7.5\pgflinewidth,0pt) |- (0pt,7.5\pgflinewidth);},
dot corner'/.code={\arrow[to path={node alsodot corner={#1}}]},
dot corner/.cd, .is choice,
north west/.style={label={[draw,fill,pic]north west:dot corner}},
south west/.style={label={[draw,fill,pic,yscale=-1]south west:dot corner}},
north east/.style={label={[draw,fill,pic,xscale=-1]north east:dot corner}},
south east/.style={label={[draw,fill,pic,xscale=-1,yscale=-1]south east:dot corner}}}
\tikzcdset{dot corner'/.style={to path={node alsodot corner={#1}}}}
%%% Idea 3
\tikzcdset{
/tikz/pics/dot corner/.style={/tikz/sloped, /tikz/allow upside down,
/tikz/rotate=45, /tikz/draw, /tikz/fill, dot corner},
dot corner/.style ={path only, /tikz/every to/.append style={
edge node={pic[{draw,fill,#1}]{dot corner}}}},
dot corner/.style={path only, /tikz/every to/.append style={
edge node={pic[{draw,fill,xscale=-1,#1}]{dot corner}}}}}
\begin{document}
\begin{tikzcd}[every matrix/.append style={label=below:Idea 1}]
A \rar[leftrightdotcorner] \dar[rightcorner]
& B \dar[leftrightcornerdot] \
C \rar[rightcornerdot]
& D \ular[leftdotcorner]
\end{tikzcd}\quad
\begin{tikzcd}[every matrix/.append style={label=below:Idea 2 (inside cell)}]
|[dot corner=south east]| A \rar \dar
& B \dar \
C \rar
& |[dot corner=north west]| D
\end{tikzcd}\quad
\begin{tikzcd}[every matrix/.append style={label=below:Idea 2 (later)}]
A \rar \dar \ar[dot corner'=south east]
& B \dar \
C \rar
& |[dot corner'=north west]| D
\end{tikzcd}\quad
\begin{tikzcd}[every matrix/.append style={label=below:Idea 2/3}]
|[dot corner/.list={north west, north east, south west, south east}]| A \rar \dar
& B \dar \
C \rar \urar[dot corner*=near start, dot corner=near end]
& |[dot corner'/.list={north west, north east, south west, south east}]|D
\end{tikzcd}
\end{document}
Code (only idea 2)
\documentclass{article}
\usepackage{tikz-cd}
\tikzset{
pic/.is if=tikz@node@is@pic,
dot corner/.pic={
\path[pic actions,draw=none,shade=none,-]
(-1.5\pgflinewidth,1.5\pgflinewidth) circle[radius=1.5\pgflinewidth];
\path[pic actions,fill=none,shade=none,-,line cap=round,line join=round]
(-7.5\pgflinewidth,0pt) |- (0pt,7.5\pgflinewidth);},
dot corner'/.code={\arrow[to path={node also[dot corner={#1}](\tikztostart)}]},
dot corner/.cd, .is choice,
north west/.style={label={[draw,fill,pic]north west:dot corner}},
south west/.style={label={[draw,fill,pic,yscale=-1]south west:dot corner}},
north east/.style={label={[draw,fill,pic,xscale=-1]north east:dot corner}},
south east/.style={label={[draw,fill,pic,xscale=-1,yscale=-1]south east:dot corner}}}
\tikzcdset{dot corner'/.style={to path={node also[dot corner={#1}](\tikztostart)}}}
\begin{document}
\begin{tikzcd}[every matrix/.append style={label=below:Idea 2 (inside cell)}]
|[dot corner=south east]| A \rar \dar
& B \dar \\
C \rar
& |[dot corner=north west]| D
\end{tikzcd}\quad
\begin{tikzcd}[every matrix/.append style={label=below:Idea 2 (later)}]
A \rar \dar \ar[dot corner'=south east]
& B \dar \\
C \rar
& |[dot corner'=north west]| D
\end{tikzcd}
\end{document}
Output
