It depends on what kind of data you really have. If you have a proper local coordinate system, you can write your own transformation rules to achieve very high accuracy.
QGIS itself has some documentation on this
Working with Projections
and more precisely Custom Projections
This will tell you that a layman solution sadly isn't really possible.
It does tell you how to do it, and that you need your transformation in the PROJ format.
In the end, projections and especially coordinate transformations are fairly raw mathematics, and PROJ is probably the most popular tool to deal with that, used by most GIS and map tools.
Luckily, the QGIS setup dialog allows you to at least test coordinates using a given PROJ string, so testing validity is easier.
The link to a tutorial posted there is no longer working. But this was old QGIS days, nowadays PROJ itself has a good documentation which should get you started on how to figure things out.
If you feel this is overwhelming, don't worry and come back with new questions! Understanding CRS and cartographic and geodetic transformations is advanced stuff.
If you have a non-geographic map (common for historic paper map without coordinates, or photographs / satellite data), this needs an entirely different approach called georeferencing. This is also possible with QGIS, and is used to figure out geo coordinates for data that doesn't have it. That works using what you describe as defining a local coordinate and its projected counterpart.
This approach however will always have significantly worse accuracy (because it only ever can deliver an approximation), but sometimes is the only option.
QGIS Docs: Georeferencing a map