[Fire HD 8 and HD 10 General] redhonker:
I have gone through the rooting and upgrading steps. Let me know if there is anything I missed.

1. Prepare PC. Install ADB and Fire HD 10 driver at https://developer.amazon.com/docs/fire-tablets/connecting-adb-to-device.html.

2. Don't connect to Internet. Keep the device offline. The instruction is in the thread for rooting. Note ROM version. I have version 5.6.1.0. Amazon has implemented anti-rollback boot loader since 5.6.1. If you upgrade using official channel, you won't be able to downgrade. If you follow the step below, root 5.6.1, update to 5.6.3 via FlashFire, it will leave the boot loader unchanged and allows you to downgrade if needed

3. Install ES File Explorer. Need to download the APK. Plug in the USB cable, copy the APK file, and use Documents app to file the file and install it.

4. Root.

4a. I first tried HD 10 (2017): Offline rooting. It's an offline process and does not transfer any of your data to internet (so less privacy concerns). It worked on the first try. However, I messed up the upgrade to 5.6.3.0 so I have to restore to stock 5.6.1.0. Then I could not get it to work. It either timed out or reported success but su is not found.

4b. I then went with KingoRoot. [TUT] ROOT HD 10 (7th Gen 2017) - EASY SuperSu (read this before 1st power on!). The rooting process stucked at 78% for a long time (5-10 min) but eventually succeeded

5. Disable OTA update. The instruction is in step 13 in [TUT] ROOT HD 10 (7th Gen 2017) - EASY SuperSu (read this before 1st power on!). I found out the Xposed installer requires internet, even though just briefly. So I decided it's better if I disable OTA.

6. Install Xposed & Flashfire. HD 10 (2017): Xposed, FlashFire, etc.. FF versions. (v0.24 or v.51) are attached in How to install Xposed & Flashfire for easy backups and ROM updates. In my experience, Xposed installer requires internet connection to install the framework. Otherwise you won't get the Official tab. I disabled WiFi once it's done.

6a. v0.51 did not work for me. It always crashes on start-up, regardless if I have time machine set

6b. v0.24 worked. retyre also mentioned it's more reliable in restore backup

7. Upgraded to 5.6.3 HD 10 (2017): Prerooted Xposed 5.6.3.0 image.

7a. I made a big mistake in the first attempt. I renamed the boot.gz and system.gz to .img file instead of extract the file inside the zip. FF accepted the file but generated error during the flash. After that, it got the Amazon bootloop. I had to restore the stock and restart from step 4

7b. Second time around, I put all the folder under /sdcard/FlashFire/Backups. Then I used restore function FF. This is safer and FF will check for md5sum and reject if the files are incorrect. This went through fine. The recovery step is at the bottom.

8. It's possible to disable OS update but continue to update Amazon packages. The instruction is in the second section in same link above How to enable Amazon packages (apk) updates but prevent the ROM updates (keeping root & rootable rom) This allows APK updates and install them in /data/app. The ROM in /system is not touched. It's a good way to stay current while not touching ROM (and keeping root!). Note the image flashed in step 7 already has this taken care of.

9. Install Google Play Store.

[MENTION=6680544]bibikalka[/MENTION] has provided the following (post #1)

Run this tool and choose the option to install Google.

Worked!

Here are some other candidates but I did not try them.

COMPLETELY 'GOOGLE-IZE' YOUR AMAZON FIRE TAB (Confirmed Working)

[GUIDE] Sideloading Google Apps - 100% WORKING! (ROOT)

https://www.howtogeek.com/232726/how-to-install-the-google-play-store-on-your-amazon-fire-tablet/

10. Change SuperSU to limit app which has root access. SuperSU access workaround for Fire devices. For me: After forced stop, the App tab will show the new app added without reboot. However, the new app does not take effect until reboot. And upon reboot, any app not yet installed will disappear from the App tab

11. Remove lock screen ad. Use the super tool again and worked! Amazon Fire 5th Gen [SuperTool] Root, Google play install, block ota updates and more

12. Replace launcher. New: Any Launcher, No Root (Launcher Hijack V3). It worked but the flicker is killing me. I then used Tips, Tricks, and the Root!. Move Nova to system app using Link2SD and disable Fire Launcher. Much better. Note the following from that thread. And there must be empty line at the bottom of build.prop

13. [ROOT] Enable ALL Lock Screen Lock Options. You need the premium version of Activity Manager. In its settings, these options must be set: Show system app indicator (might be optional), Show not exported activities, Allow ROOT operations. In my experience, about 30% of time after reboot, the screen will loop between screen saver and black and never show the unlock pattern. I have disabled this function and went back to PIN. So I no longer recommend this step.

14. Disable bloatware. [GUIDE] Remove all bloatware from your Fire HD 10 (2017). This is written for 5.6.0. Updated: Amazon System App / Bloatware Tracking Sheet - as of FireOS 5.6.2.0. I did not find a thread for 5.6.3. Note the following 2 if you want to use them

My Account: com.amazon.kindle.otter.oobe

Backup & Restore: com.amazon.device.backup

15. Google Assistant. [GUIDE] [NO ROOT]: Activate FULL Google Assistant!.

Have to install specific version of Google App Google App 8.33.6.21 (arm-v7a) (nodpi) (Android 5.0+) and don't forget to disable auto-update in Play Store. Update: this is working. However, it's a bit sluggish. I have now uninstall Google Assistant.

---- Maybe Later: Other Optimization

Making The Most of Root on Fire Tablet 10 (tweaks/apps/modules/hacks/optimizations).

Appendix

A1. Recovery to stock ROM. The instruction is at Unbrick/Restore/Downgrade Stock Firmware [Amazon Fire HD 8 & HD 10]. This is written for the older version of Fire HD but the steps remain valid. The ROM is available from post 2 in [TUT] ROOT HD 10 (7th Gen 2017) - EASY SuperSu (read this before 1st power on!). I used the below