I am using shared SiteGround hosting to deploy a Laravel project. I started by creating a blank website with a temporary domain. I followed the directions in the link you shared for Method 2. On SiteGround's Site Tools, I enabled SSL and created an FTP account.
Locally, I used Laravel Herd to create a new site. Using FTP, I copied files to SiteGround and updated the .env file. In the public_html folder, I created a .htaccess file and added the following.
AddHandler application/x-httpd-php84 .php .php5 .php4 .php3
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.sg-host.com$ [NC,OR]
RewriteCond %{REQUEST_URI} !mysite/public/
RewriteRule (.*) /mysite/public/$1 [L]
I am able to access my site by visiting https://mysite.sg-host.com/. All contents of the root directory, including the .env file, are not publicly accessible.