I don’t have time right now, but I wanted to propose adding a different post with that type, elsewhere. Put it somewhere like, about/test.md, so it would render at example.com/about/test/, and see which template it is picking up.
I like to test other pages before index pages, in case they are treated differently. Considering your jump in versions, index pages are handled differently, as well (I think it was around 18 or 19 where it changed).
Also, @alexandros may be on to something, according to the content types lookup order, it only lists templates from inside the site, not the theme (the other lookup orders are exhaustive).
We can update the docs to explain this, so in the meantime you might move over the template and see if it works as expected.
Sorry for the multiple posting, I just had this train of thought regarding this: aside from how content types work, I am not sure the single.html template is for that index page. Isn’t that a section?
I don’t use index pages in this way, so I only know from reading other accounts, but I think that is a section (and hence follows the section template lookup order), and content types work on content pages (which makes sense, since types overrides the default assumption of “section”).
I’d move about/index.md to about.md and see if it picks up the correct template.
Thank you for your support maiki and onedrawingperday,
content/about.md or content/about/test.md is rendered with the selected layout. So you were right and the problem is with index.md but it only happens if the type is set at the frontmatter. Other pages, e.g. article\example\index.md are rendered as expected.
As I started with the theme there was something like about/index.md described in the documentation to have the content in a folder but still the url example.com/about. I guess this was changed to about/single.md (and _index.md was added with other functionality).
tl;dr
renaming index.md to single.md solves the problem.