And the same class through VSCode, outputs always the same

Compilation started on 09/11/2023 19:15:59 with qualifiers 'c-uk'
Compilation finished successfully in 0.059s.

Compilation started on 09/11/2023 19:16:00 with qualifiers 'c-uk'
Compilation finished successfully in 0.056s.

Compilation started on 09/11/2023 19:16:22 with qualifiers 'c-uk'
Compilation finished successfully in 0.056s.

Compilation started on 09/11/2023 19:16:27 with qualifiers 'c-uk'
Compilation finished successfully in 0.050s.

Compilation started on 09/11/2023 19:16:30 with qualifiers 'c-uk'
Compilation finished successfully in 0.052s.

Compilation started on 09/11/2023 19:16:33 with qualifiers 'c-uk'
Compilation finished successfully in 0.056s.

Compilation started on 09/11/2023 19:16:35 with qualifiers 'c-uk'
Compilation finished successfully in 0.053s.

In terminal, I managed to get expected log, on each third compile, but it's still insane

Compilation started on 09/11/2023 19:13:27 with qualifiers 'ck-u'
Compiling class User.demo
Compiling table SQLUser.demo
Compiling routine User.demo.1
Compilation finished successfully in 0.081s.

USER>do $system.OBJ.Compile("User.demo","ck-u")

Compilation started on 09/11/2023 19:13:28 with qualifiers 'ck-u'
Compilation finished successfully in 0.071s.

USER>do $system.OBJ.Compile("User.demo","ck-u")

Compilation started on 09/11/2023 19:13:29 with qualifiers 'ck-u'
Compilation finished successfully in 0.064s.

USER>do $system.OBJ.Compile("User.demo","ck-u")

Compilation started on 09/11/2023 19:13:30 with qualifiers 'ck-u'
Compiling class User.demo
Compiling table SQLUser.demo
Compiling routine User.demo.1
Compilation finished successfully in 0.087s.

Unfortunately, this is not the case, all transactions have to be closed anyway. 

In example below, I changed only one value and then used rollback, so, it changed it back and committed 

Missing TCOMMIT, would only mean, that transaction is still open, and it's a bad sign, which will be logged in messages.log, for a long opened transactions.

That means improper configuration for the webserver. Anything that goes through a CSP application goes this way.

Properly configured webserver, should take care of static files without IRIS, just process them itself.

In this case, IRIS will not even know about requests to the static files.

Remember, that you should not use a private Webserver in the production at all, and have to have something manually configured. And any newest IRIS non-community versions since 2023.2 will not even install a private webserver anymore unless the IRIS is updated from some previous version.