With some help from here, you can access the glyph directly using:
\XeTeXglyph\the\XeTeXglyphindex "one.Alt.oldstyle"\relax
The glyph index was found using:
otfinfo -g XCharter-Roman.otf | grep one
MWE
Edit: Don't make 1 active as it can easily cause problems. See comments from @UlrikeFischer below
Edit 2: Support enumerate environment with the enumitem package.
\documentclass{article}
\usepackage{enumitem}
\usepackage{tikz}
\usepackage{fontspec}
\setmainfont[Numbers=OldStyle, Mapping=onealtoldstyle]{XCharter}
\ExplSyntaxOn
\tl_new:N \l__chandra_counter_tl
\cs_new:Nn \__chandra_one_alt_oldstyle:
{
\XeTeXglyph\XeTeXglyphindex "one.Alt.oldstyle"\relax
}
\cs_new_protected:Nn \__chandra_alt_oldstyle:n
{
\tl_set:Nn \l__chandra_counter_tl {#1}
\tl_replace_all:Nnn \l__chandra_counter_tl { 1 }
{ \__chandra_one_alt_oldstyle: }
\tl_use:N \l__chandra_counter_tl
}
\cs_generate_variant:Nn \__chandra_alt_oldstyle:n { x }
\NewDocumentCommand{\OldStyleArabic}{m}
{
\__chandra_alt_oldstyle:x {#1}
}
\NewDocumentCommand{\OneAltOldstyle}{}
{
\__chandra_one_alt_oldstyle:
}
\ExplSyntaxOff
\setlist[enumerate]{label=\OldStyleArabic{\arabic*}}
\begin{document}
This is the oldstyle numeral \OneAltOldstyle.
\begin{enumerate}
\item Foo
\item Bar
\item Baz
\end{enumerate}
This is the lining numeral $1$.
This is \verb|tikz|: \tikz \draw (1, 1) -- (0, 1);
\end{document}

one.Alt.oldstyle, but it is not available as a stylistic set. – egreg Jul 29 '19 at 10:41