Some settings in TeX and LaTeX apply to the complete paragraph, the line spacing set with \onehalfspacing and \singlespacing is one such setting. Usually the paragraph is typeset with the settings active at the end of the paragraph.
Internally quote is implemented as a \list, which at some point calls \par to start a new paragraph for the list.
With the patch the code in the question then essentially ends up executing
\lipsum[66]
{\singlespace\list...\endlist}
where \list includes a \par call. That means LaTeX sees something similar to the following situation
\lipsum[66]{\singlespace\par}
Here the paragraph is ended and the entire paragraph is typeset with the line spacing setting active at that point. So the entire paragraph is typeset with single spacing.
Clearly this is not what we want. One solution would be to manually end the paragraph before you go into quote (this is what you found in the question already). If this feels semantically wrong, you could force the \par (which quote will execute anyway) a little bit earlier by including it in the patch
\documentclass[UKenglish]{article}
\usepackage{babel}
\usepackage[autostyle]{csquotes}
\usepackage{lipsum}
\usepackage{setspace}
\onehalfspacing
\AtBeginEnvironment{quote}{\par\singlespacing}
\begin{document}
\lipsum[66]
\begin{quote}
\lipsum[75]
\end{quote}
\lipsum[66]
\lipsum[66]
\end{document}

Since you are loading csquotes I recommend you actually use one of its environments instead of the standard quote. We can then modify its behaviour as suggested in csquotes.cfg and shown in my answer to How to change the fontsize of a csquotes' quotation?
For the semantically nicer solution we have to use the internal implementation of \singlespacing as setting \setstretch {\setspace@singlespace} to avoid the space correction introduced by \singlespacing.
\documentclass[UKenglish]{article}
\usepackage{babel}
\usepackage[autostyle]{csquotes}
\usepackage{setspace}
\onehalfspacing
\makeatletter
\newenvironment{singlequote}
{\quote\setstretch{\setspace@singlespace}}
{\endquote}
\makeatother
\SetBlockEnvironment{singlequote}
\usepackage{lipsum}
\begin{document}
\lipsum[66]
\begin{displayquote}
\lipsum[75]
\end{displayquote}
\lipsum[66]
\end{document}