How to do core development with composer-based install? I'm using drupal-composer/drupal-project.

With that, installer-paths in composer.json installs core in web/core, it doesn't clone a full git repository. 

I'd like a full repository, so I can reroll a patch for core on my dev site, within the project it will be used on, without having to clone https://git.drupal.org/project/drupal.git and configure an entirely new project…

Is this even possible?

i.e. a modification to composer.json that will install core (or anything else for that matter) as a fully functional repository (i.e. with .git directories) - so you can create new branches, run diffs against to generate patches, and so on.
I'm providing an answer to this even though it's probably off-topic and I have a heavy bias here.
For core development we shouldn't use a composer-based install pattern such as drupal-composer/drupal-project because we're modifying the software project itself. Generally composer require or create-project or init is used when we want to create a new library, project or piece of software and dependencies to it, but not when working on an existing library or framework.

At the moment the best way to get started if you are new to core development is to visit https://drupal.org/tools. Use either the ResilioSync option or download the latest quicksprint tools release instead. This is the tool set that the Core Mentoring program currently uses to get started from scratch.
This isn't the only place/work flow for core development. Many of the core/strategic initiatives, or working groups within core development, may have a preferred development environment. For instance the Javascript Modernization Initiative has excellent documentation for their unique work flow and challenges.
Of course, if you already have an environment, then cloning the repository and running composer install works as well.
Finally if Composer piques your interest, the Composer Initiative (this is probably only relevant from 2019-2021) may change the way that we can work on core. And this could be a way to contribute and answer your question.

Please ask any questions you might have in #contribute on Drupal Slack or in one of the contribution channels on either IRC or Drupal Chat.