How do I create linked nodes without user intervention? Suppose I have a cooking website where users can create Recipe nodes for Food nodes. For example, you might have a Cake node of type Food, and users should see an Add Recipe button on that page which takes them node/add/recipe except that the newly created Recipe node will have a reference to the parent Cake page.
I've added a Content type Entity Reference to to the Recipe node, which works fine. For programmatically generating the link I'm a bit lost though. I initially looked at using the Rules but it's still in alpha, and from the description it looks like I'd probably want to use the Rules Link module as well, but it doesn't have a version for 8.x at all.
Then I started looking at hook_ENTITY_TYPE_create, which is my current best guess for how to achieve the desired behaviour, but that still leaves me with some questions about what the best approach is;

How / Where do I capture the node reference when all I'm given is the EntityInterface type?
What is a mechanism for passing information about the reference/parent node to hook_ENTITY_TYPE_create so that I can even know which reference to store?
How do I create links or buttons on the parent Food node that cause such information to be passed on to the hook?
Lastly, is this even the best approach, or am I missing a way that doesn't involve writing code?

I don't think I need any hand-holding or code, but I'd be very grateful for some pointers in the right direction for each of the above points from a veteran.
A solution that doesn't go deep into the code is to use the Prepopulate module.
It enables you to prepopulate form fields through the link to the form page:

http://www.example.com/node/add/recipe?edit[field_entity_reference][widget][0][target_id]=123


You'll probably want to construct the links automatically, it can be done with Views. You create a Block Display that contructs the link using the Food information it's been placed on, through a contextual filter. When the Block is placed on Food pages the link leads to new recipe form that has the food where you just left from already filled in.
You can find more info about how to construct the link with the help of Views in this answer: Add Prepopulate links to Node pages part of the answer.