I know you are a beginner but wanted to suggest something even just so you are aware of it and don’t have to use it at this stage of your learning journey.
If you are using Bulma or Bootstrap or other CSS framework then you can avoid writing CSS yourself to handle those intricacies… and just use hero and related classes
See the demo here and scroll below to see the code. Of course will need bulma CSS to be loaded on the page first.
Setting on body directly like that is fine.
Using a class like you original approach is more flexible in a way - then the CSS can stay the same but you can experiment with adding bgimage to html element or body element or an element inside body.
If you added no CSS besides the lines you shared then that is great. Just note that if you change your layout or theme that your background might no longer cover the full screen.
Also be sure to test your site on a mobile device. The tall screen and wrapping to fit that has caused issues on my sites around text and images.
Thank you for your valued comments and suggestions!
This page https://www.w3schools.com/html/html_images_background.asp was very helpful so that I can make sure (as you suggested) that the background image I chose (pale yellowish old paper) covers the full screen (especially when one zooms out).
This is the code that does the job (in /layouts/default.html):