list(model.children()) will only contain the child modules, i.e. [Conv2d(256, 1, kernel_size=(1, 1), stride=(1, 1)),  Flatten(), Linear(in_features=196, out_features=1, bias=True)] and will miss the functional calls, which are defined in its forward method (F.sigmoid).
Wrapping models into an nn.Sequential container works, if you are just calling nn.Modules sequentially.
For your use case, you could probably append model to the final_model instead of its children.