How to override node content in Twig
content is just the render array composed of renderable elements.

If you want to break up the fields, then you need to not use {{ content }} and instead call each field where you want them:

{{ content.field_MYFIELD }}

Those fields are controlled by their field templates.

An improvement on your code would be to not check for view modes in one template, but just make each view mode a template like node--article--teaser.html.twig, node--article--full.html.twig, node--article--some-other-mode.html.twig. It will make your code cleaner.

So you'll need to debug and find what the content variable has, and just start outputting it where you want them to render in the template.